把 TikTok 连接到 Social Quack —— 完整指南
TikTok 是唯一一个连接时不是点两下就完事、而是要填一张表格并录一段简短屏幕录像的平台。本页带您在大约 20 分钟内走完全程,每一个答案都已经为您备好,直接粘贴即可。整件事只需要做一次。
想跳过 TikTok 的审核? 那就改为通过 Zernio 连接:粘贴一个密钥、登录、发帖 —— 几分钟搞定,不用填表。见 Zernio 指南。本页讲的是用您自己的开发者应用、自己动手的那条路。
分两个阶段,做完第 1 阶段就可以开始发帖:
| 阶段 | 您能得到什么 | 耗时 |
|---|---|---|
| 1. 创建应用 | 连接账号并发帖 —— 但在 TikTok 审核这个应用之前,帖子都是私密的(只有您自己能看到) | 约 10 分钟 |
| 2. 提交审核 | 公开发帖 | 您这边约 10 分钟,之后 TikTok 那边需要 1–5 个工作日 |
第 1 阶段 —— 创建您的 TikTok 开发者应用
- 前往 https://developers.tiktok.com,用您的 TikTok 账号登录。(可能会要求您验证邮箱并接受开发者条款。)
- Manage apps → Connect an app(管理应用 → 连接应用)。填写:
- App name(应用名称):随便取,例如
My Social Quack - App icon(应用图标):任意一张 1024×1024 的图片(您的 logo 或一张照片)
- Category(类别):Productivity(或最接近的一项)
- Description(描述):粘贴下方「可直接粘贴的答案」里的那一段
- Terms of Service URL:
https://socialquack.com/terms· Privacy Policy URL:https://socialquack.com/privacy - Platform(平台):勾选 Desktop
- App name(应用名称):随便取,例如
- Add products(添加产品,在左侧边栏):添加 Login Kit 和 Content Posting API。
- 在 Content Posting API 里打开 Direct Post。
- Login Kit → Redirect URI:勾选 Desktop,然后把 Social Quack 里显示的回调地址原样粘贴进去(Channels → TikTok → Set up keys ▾ → Set up app keys(设置密钥 → 设置应用密钥)—— 它长这样:
http://localhost:4400/oauth/tiktok/callback)。保存。为什么选 Desktop 而不是 Web?Social Quack 运行在您自己的电脑上。TikTok 的 Desktop 平台允许
localhost回调地址,也不要求您验证域名;Web 则要求。 - Scopes(权限范围):确认您的产品下列出了这三项:
user.info.basic、video.upload、video.publish。 - 创建 Sandbox —— 这是人人都会漏掉的一步。在 TikTok 审核您的应用之前,它的主("production",正式)client key 会被拒绝,报
unauthorized_client。在应用页面上点 Sandbox(右上角)→ Create sandbox。给它配上同样的产品(Login Kit、带 Direct Post 的 Content Posting API)、同样的权限范围和同样的 Redirect URI,并在 Target users(目标用户)下添加您自己的 TikTok 用户名。 - Sandbox → Client key / Client secret:把这两个值复制进 Social Quack(Channels → TikTok → Set up keys ▾ → Set up app keys),然后点 Connect(连接)。在 TikTok 登录页上同意授权。您的账号就会出现在 Connected(已连接)下面。
- 用一个一次性的 TikTok 账号来测试。 Sandbox 应用只能发到私密账号(否则会报
unaudited_client_can_only_post_to_private_accounts)—— 而您肯定不想把自己真正的账号改成私密。新建一个 TikTok 账号(任意邮箱都行),把它设为私密(Profile → ☰ → Settings and privacy → Privacy → Private account),把它的用户名加到 sandbox 的 Target users 下,然后在 Social Quack 里连接这个账号。 - 在 Compose(撰写)里发一条测试视频。勾选 TikTok 渠道后,会出现一个 TikTok options(TikTok 选项)面板 —— 选择谁能看到这条帖子(sandbox 里只提供 "Only you")、评论 / 合拍(duet)/ 拼接(stitch)开关,以及这是否属于商业内容。它会发布到那个一次性账号上。第 1 阶段到此完成。
审核通过之后: 回到 Edit keys ▾ → Edit app keys(编辑密钥 → 编辑应用密钥),粘贴应用的 production(正式)Client key/secret(从 App details 里取,不是 sandbox 的),然后点 Connect —— 这一次用您真正的账号。从那以后,隐私选项会提供 Everyone / Friends / Followers / Only you。
图片帖还需要多做一步:TikTok 是从一个公开网址去抓取图片的,所以请在 Social Quack 的 Settings(设置)里配置 Media hosting(媒体托管),然后在您的 TikTok 应用里打开 Content Posting API → URL properties,验证那个域名。视频不需要这一步。
第 2 阶段 —— 提交审核(解除只能私密发帖的限制)
在开发者门户里打开您的应用 → Submit for review。TikTok 会问三件事:对每个产品和权限范围的说明、一段演示视频,以及应用的基本信息。您需要的一切都在下面。
可直接粘贴的答案
App description(应用描述)
Personal social-media scheduling tool. I write posts on my own computer (Social Quack, a self-hosted scheduler that runs locally on my Mac/PC) and it publishes them to my own TikTok account at the scheduled time. Single user: me. No data about other TikTok users is collected or stored; nothing runs on a server.
Explain how each product and scope works within your app(说明每个产品和权限范围在您的应用里如何使用)
Login Kit — used once to sign in with my own TikTok account so the app can obtain an access token for that account. The token is stored encrypted on my computer only.
Content Posting API (Direct Post) — used to publish videos and photo posts that I create and schedule myself. The app uploads the video file directly (FILE_UPLOAD) at the scheduled time with the caption I wrote, using the privacy level I chose.
user.info.basic — reads my own display name, avatar and username to show which account is connected in the app.
video.upload — uploads the video file to TikTok for a post I scheduled.
video.publish — publishes that upload as a post on my own account, with my caption and privacy setting.
Data handling: the app is local-only software. Access tokens are stored encrypted on my device, never transmitted to any third-party server, and are deleted when I disconnect the account. No content or data from other users is accessed.
如果被问到 "Does your app allow users to post publicly?" → Yes — the user chooses the privacy level (public, friends, or private) for each post, matching what they'd pick in the TikTok app.
如果被问到网站 / 用户如何使用这个应用 → Desktop application installed on the user's computer; the website is https://socialquack.com.
演示视频 —— 要录些什么
TikTok 想看到实际流程,而不是一段宣传片。一段 60–90 秒的屏幕录像就正好。Mac:QuickTime → File → New Screen Recording,或者按 ⌘⇧5。 不需要配音;加字幕是个加分项,但不是必须的。
脚本(请按顺序来 —— 审核人员就是照着这几个节点看的):
- (0:00) 打开 Social Quack。简单展示一下 Channels(渠道)页面。
- (0:05) 在 TikTok 上点 Connect。TikTok 登录页会在浏览器里打开 —— 展示列出权限范围(user info、upload、publish)的授权页面,然后点 Authorize。展示它回到 Social Quack,您的 TikTok 账号已经列在 Connected 下面。
- (0:25) 进入 Compose。输入一段文案,点 Upload(上传)附上一段短视频,勾选 TikTok 渠道。在弹出的 TikTok 选项面板上多停留一会儿 —— 审核人员会检查它:"Posting to TikTok as …" 这一行;打开 Who can see this post 下拉框并选一个值;展示 Allow comments / Duet / Stitch 开关;把 Disclose commercial content 打开再关上,让 Your brand / Branded content 显示出来;并让 "By posting, you agree to TikTok's Music Usage Confirmation" 这一行出现在画面里。然后选一个一两分钟之后的时间(或者点 Post now(立即发布))。
- (0:45) 在 Queue(队列)里展示这条帖子,状态为 scheduled,然后等它(或者用 Post now 之后)变成 published。点 view 链接。
- (1:00) 在 TikTok 本身上展示这条帖子 —— 网页版主页或者您的手机屏幕 —— 让审核人员看到文案和视频确实发到了账号上。
- (1:15,可选,但很有说服力) 进入 Channels → Remove(移除)TikTok 渠道,展示断开连接就会撤销应用的访问权限。
整段一镜到底,不需要剪辑。保存为 MP4,上传到审核表单的演示视频栏里。
提交之后
- 通常需要 1–5 个工作日。无论结果如何,您都会收到邮件。
- 如果被拒,原因通常是以下之一:演示视频没有展示授权页面、没有展示帖子出现在 TikTok 上,或者权限范围的说明没有写清每一个权限范围的用途。把那一处改好再重新提交就行 —— 当天重交也没问题。
- 在此期间照常使用应用:私密帖子全程都能发。
- 一旦通过,Social Quack 里什么都不用改 —— 您的下一条帖子直接使用您所选的隐私级别。
出问题时怎么办
| 您看到的情况 | 这说明什么 | 该怎么做 |
|---|---|---|
TikTok 登录页上出现 unauthorized_client / client_key |
您在审核之前用了正式密钥 | 创建一个 Sandbox,把自己加为目标用户,使用 sandbox 的 client key/secret |
TikTok 登录页上出现 redirect_uri 错误 |
Login Kit 里的地址和实际的不完全一致 | 从 Social Quack 的 TikTok 卡片上重新复制一遍,端口也要带上;确认勾选了 Desktop |
unaudited_client_can_only_post_to_private_accounts |
Sandbox 应用 + 连接的账号是公开的 | 连接一个设为 Private(私密)的一次性账号(第 8 步) |
| "TikTok: choose who can see this post" | 没有在 TikTok 选项面板里选择隐私级别 | 在 Compose 里勾选 TikTok 渠道,选择一个受众 |
帖子失败,报 privacy_level_option_mismatch |
应用还没通过审核,所以只允许私密 | 审核之前属于正常 —— 帖子是私密的;提交审核即可解除 |
帖子失败,报 unaudited_client_can_only_post_to_private_accounts |
同上 | 同上 |
| "TikTok session fully expired" | 您已经一年没发帖了,刷新令牌已失效 | Channels → Remove → 重新 Connect |
| 图片帖失败,视频正常 | 媒体域名没有验证 | Content Posting API → URL properties → 验证您的媒体托管域名 |