把 Threads 连接到 Social Quack
在 Meta 的网站上建一个免费的开发者应用,点几分钟,Threads 的帖子就会按您的排期发出 —— 不用提交任何 App Review。
Threads 不会把发帖权限直接交给排程类应用。取而代之的办法是:您在 Meta 的开发者网站上创建一个属于自己的小型开发者应用,再把两个密钥粘贴进 Social Quack。这件事只做一次,而且因为那个应用属于您,密钥会加密保存在您自己的 Mac 上,发帖额度也只属于您一个人 —— 不存在一个装着别人帖子的共享池子,把您连累到被限流或封禁。
这个应用自始至终停留在 Development mode(开发模式)—— 发到您自己的账号,有这个就够了。没有东西要提交,也没有东西要等。
1. 先在 Social Quack 里打开设置界面
在侧边栏点 Channels(渠道),往下找到 Add a channel(添加渠道),找到 Threads 卡片,点 Set up app keys(设置应用密钥)。
那个窗口先别关 —— 接下来您会一路从里面往外复制、往里面粘贴。它包含:
- Meta 索要的那个回调地址,旁边有复制按钮。请从那个界面上取,别自己敲一个看着差不多的 —— Meta 会逐字符比对,第 3 步会解释它为什么长这样。
- 最后要填的两个输入框:Threads App ID 和 Threads App Secret。
2. 创建应用
- 前往 https://developers.facebook.com 并登录。
- 点 My Apps → Create app,名字随便取,当 Meta 问您这个应用要做什么时选 Threads 用途。(已经为 Instagram 或 Facebook 建过一个 Meta 应用了?那就打开那一个,给它加上 Access the Threads API —— 不必再建第二个。)
3. 填好 Threads 的设置
打开 Use cases → Threads API → Settings,填三样东西。
| 输入框 | 填什么 |
|---|---|
| Redirect Callback URLs | Social Quack 设置界面上的那个回调地址 —— 用它的复制按钮,确保一个字符都不差 |
| Uninstall Callback URL | https://socialquack.com/oauth/callback/uninstall |
| Delete Callback URL | https://socialquack.com/oauth/callback/delete |
其中有两个需要解释一句。
为什么要填卸载和删除地址? 不填,Meta 就不让保存这个表单。它们指向我们的网站,纯粹是为了让表单通过 —— 我们的服务器上什么都不会存,那两个页面只是确认收到请求而已。
为什么回调地址在 socialquack.com 上,而不是在您自己的电脑上? Threads 会拒绝任何把您送回普通非加密地址的登录。所以 Social Quack 给了您一个加密地址去登记,而那个页面只干一件事:把登录结果直接交回运行在您 Mac 上的应用。
4. 添加三项权限
还在这个用途里,从左侧菜单的 Settings 切到 Permissions and features。(点跑偏了?Use cases → Threads API → Customize 能带您回去。)
列表上每一项权限旁边都有一个 Add 按钮。给这三项点 Add:
threads_basicthreads_content_publishthreads_manage_replies
没有什么要申请,也没有谁要等:这是您自己的应用,点下去的那一刻就授予了。
5. 把自己加为 Threads Tester
在 App roles → Roles 下,把您的 Threads 账号加为 Threads Tester。
邀请会一直挂在那里标着 Pending(待处理),而且不会发邮件通知。您要在 Threads 应用里面接受它:
Threads 应用 → Settings → Account → Website permissions → Invites
在您接受之前,从 Social Quack 发起的登录都会失败,所以在这个角色不再显示 Pending 之前,先别往下走。
6. 把两个密钥复制进来并连接
回到 Use cases → Threads API → Settings,复制 Threads App ID 和 Threads App Secret。
这两个不是您主应用面板上显示的那个 app id。Threads 用途有它自己的一对,而拿错成主应用那一对,正是之后登录失败最常见的原因。
把它们粘贴到 Social Quack 的 Threads App ID 和 Threads App Secret 框里,点 Save(保存)。密钥会加密保存在您的 Mac 上,Threads 的登录页面随即在您平时的浏览器里打开;如果没打开,就点 Threads 卡片上的 Connect(连接)。在那里同意登录,您的账号就会出现在 Connected(已连接)下面。Social Quack 是有意把您送到真正的浏览器窗口,而不是在应用内部显示那个页面,因为 Threads 的登录经不起被嵌套。
7. 写第一条帖子
在您往队列里放东西之前,有几点值得知道:
- 每条 500 个字符。
- 更长的内容会变成一条帖串:每一段都作为上一段的回复发出,跟您自己手动串起来一模一样。
- 每条帖子一张图或一个视频。 Threads 是从一个网址去抓取媒体文件的,而不是接受上传,Social Quack 会在发帖时替您完成这个交接 —— 您没有任何东西要设置。
您的连接有效期为 60 天,剩下不到一周时 Social Quack 会悄悄替您续上。如果应用关了两个来月,它可能就直接要求您重新连接一次。
出问题时怎么办
| 您看到的情况 | 这说明什么 | 该怎么做 |
|---|---|---|
| Threads 登录页面显示 "No app ID was sent" | 通常是 Threads Tester 邀请还处在 Pending 状态 | 在 Threads 应用里接受它:Settings → Account → Website permissions → Invites,然后点 Threads 卡片上的 Connect |
| 显示 "No app ID was sent",但邀请确实已经接受了 | 密钥取自主应用,而不是 Threads 用途 | 从 Use cases → Threads API → Settings 重新复制 Threads App ID 和 Threads App Secret,粘到 Channels → Threads → Edit app keys(编辑应用密钥)里,点 Save,再登录一次 |
| Threads 以不安全为由拦下登录,压根不显示登录页 | 登记在 Meta 那边的回调地址不是应用期待的那个加密地址 | 从 Channels → Threads → Edit app keys 里重新复制一遍,粘进 Use cases → Threads API → Settings 的 Redirect Callback URLs,保存 Meta 的表单 |
| 登录没问题,但发帖时报权限错误 | 三项权限里有一项从没加上 | 打开 Use cases → Threads API → Customize → Permissions and features,给 threads_basic、threads_content_publish 和 threads_manage_replies 逐个点 Add,然后回到 Threads 卡片上再点一次 Connect —— 这会更新您已有的渠道,排好的帖子原样保留 |
| "Threads could not process the post" | Threads 拒收了这张图或这个视频;消息里会带上 Threads 给出的原因 | 换一个文件,再发一次 |
| "Threads took too long to process the media" | 大视频还在 Threads 那边处理 | 什么都不用做 —— Social Quack 会自己重试;如果一直失败,换一个更小的文件 |
| 过了两个来月,Threads 要求您重新连接 | 应用没运行的那段时间里,60 天的连接失效了 | Channels → Threads → Connect —— 密钥还存着,点一下就行 |
还是不行?[email protected]。