全部指南

把 X(Twitter)连接到 Social Quack

在 X 的后台里建一个属于自己的应用,充几美元额度,帖子就会按时发出 —— 密钥加密保存在您自己的 Mac 上。

X 是 Social Quack 里唯一一个发帖要花钱的平台。除此之外它都很简单:您创建一个属于自己的小型开发者应用,把两个密钥粘贴进 Social Quack,再在 X 自己的页面上同意授权。只做这一次 —— X 这种连接永不过期,不存在每隔几周就要重连一回的事。

因为这个应用是您的,密钥会加密保存在您自己的电脑上,发帖额度也只属于您一个人。您不会和别人的账号共用一个池子,所以别人的行为连累不到您被限流。

1. 它要花多少钱

X 已经没有免费发帖档位了。 老的 Free (Standard Basic) 权限已废弃 —— 还停留在那一档的应用每次尝试发帖都会被拒。要通过 X 的 API 发帖,您需要一个 Pay Per Use 计划下的开发者账号,并且充上一点额度。一条帖子的成本是几美分。

充 $5–10 完全够开头用了。这只适用于 X;Bluesky、Mastodon 和 Social Quack 里的其他平台都是免费的。

2. 先在 Social Quack 里打开 X 卡片

从应用这边开始,这样待会儿要复制的那个值就已经摆在屏幕上了:

侧边栏的 Channels(渠道)→ X (Twitter) 卡片 → Set up app keys(设置应用密钥)。

(某个工作区一旦存过密钥,这个按钮就会变成 Edit app keys(编辑应用密钥)—— 打开的是同一个面板。)

那个面板里有最后要填的两个输入框,以及它们上方的回调地址,也就是 X 所说的 Callback URI,旁边配了复制按钮。它里面带着这一份 Social Quack 正在使用的端口,所以请用复制按钮取,别自己敲 —— 差一个字符 X 就会拒收。这个窗口先别关。

3. 创建一个 Pay Per Use 项目并充值

  1. 前往 https://console.x.com,打开 Projects。您需要一个 Pay Per Use 计划下的项目。如果您手头只有一个老的 Free (Standard Basic) 项目,它已经不能用了 —— 改用 Pay Per Use 的那个,或者新建一个。
  2. Billing → Credits:充 $5–10。

4. 创建应用

在这个 Pay Per Use 项目里:Apps → Create App。

已经有一个应用躺在老项目里?那就把它挪过来,走 Project Access → Manage。

5. 设置权限和回调地址

打开应用 → Settings,在 Authentication settings 那一节里:

设置项 该选什么
Permissions Read and write
Type of App Web App
Callback URI Social Quack 在 Set up app keys 界面上显示的那个回调地址 —— 用它的复制按钮取,原样粘贴
Website 任意网址

保存。这一步一定要在下一步之前做完:在权限改动之前生成的密钥会保留旧的权限级别,那样您在 X 上同意授权之后连接就会失败。

6. 复制 API Key 和 Secret

应用 → Keys & Tokens → OAuth 1.0 Keys → 对 Consumer Key 点 Regenerate,然后把它显示给您的两个值复制下来:

  • API Key (Consumer Key)
  • API Key Secret (Consumer Secret)

那个 secret 只会显示一次。要是您没复制就关掉了页面,再 regenerate 一次就好 —— 另外,每次改动应用权限之后都要重新 regenerate。

重新生成会让旧的那一对在所有地方作废:X 用这对密钥为您的每一条帖子签名,所以一旦 regenerate,旧的就死了。如果您把它们粘贴到了不止一个工作区,就逐个打开那些工作区的 Set up app keys 面板,把新的一对也粘进去 —— 保存会重新打开 X 的授权页面,同意之后该账号会被原地重连,它排好的一切都保留下来。还留着旧密钥的工作区将无法发帖。

7. 粘贴进来并连接

回到 Social Quack,还是那个 Set up app keys 面板:把它们粘到 API Key (Consumer Key) 和 API Key Secret (Consumer Secret) 里,点 Save(保存)。没有别的按钮要按 —— 保存密钥会立刻在您的浏览器里打开 X 的授权页面。用您想发帖的那个账号同意授权。浏览器随后会停在一个 Connected! 页面上,告诉您关掉标签页回到 Social Quack。照做就行:账号已经在 Channels 页面上等着了。

密钥存好之后,X 卡片上的 Connect(连接)按钮自己就能发起同样的授权 —— 改天要加第二个账号或者重新连接某个账号,用的就是它。

您可以用同一个应用连接好几个账号:如果您给不同品牌分了工作区,那就一个工作区一个账号。每个工作区都保存自己那份密钥,所以在侧边栏切换工作区,把同样的两个值粘进那个工作区的 Set up app keys 面板 —— 在那里保存同样会为该工作区打开授权页面。X 里一个应用就够用了。

8. 您可以往 X 发什么

帖子长度 280 个字符
帖串 支持 —— 每一段都作为上一段的回复发出
图片 最多 4 张,挂在帖串的第一条上,可带替代文字
视频 支持

超出 X 允许尺寸的照片,或者它不接受的格式,都会在发出之前替您缩放和转换好 —— 您不用提前准备什么。

出问题时怎么办

您看到的情况 这说明什么 该怎么做
帖子失败,报 403 和 client-not-enrolled 这个应用不在 Pay Per Use 项目里 —— 老的免费权限已经不管用了 在 Pay Per Use 项目里创建这个应用,或者用 Project Access → Manage 把它挪过去
在 X 上同意授权之后,出现 Connection failed 页面并提示 X token exchange failed 通常是密钥在您改动应用权限之前就生成了,仍带着旧的级别。也可能是别的应用的密钥,或者复制 secret 时被截断了 Keys & Tokens → OAuth 1.0 Keys → Regenerate,把两个值重新复制一遍,粘进 Set up app keys 并点 Save —— 授权页面会再次打开
同一个 Connection failed 页面上提示 X users/me failed 这个应用没有挂在一个具备 API 权限的项目下 确认这个应用确实位于您的 Pay Per Use 项目里
X API Key / Secret not configured 这个工作区没有存过密钥 —— 每个工作区各存各的 在侧边栏切到那个工作区,然后 Channels → X → Set up app keys,两个都粘上并点 Save
重新生成密钥之后,发往某个 X 账号的帖子开始失败(X rejected the post,401) 新的那一对只进了您当时所在的那个工作区;其他工作区手里还是已经作废的旧密钥 在其余每一个工作区里:Set up app keys,粘贴新的一对,Save,再到 X 上同意一次。账号会被原地重连,排好的帖子都保留 —— 千万别移除渠道,那会把它的帖子一起删掉
X 的授权页面报错、Social Quack 干脆报错而不是打开它,或者您落在一个标题为 Connection failed 的页面上 通常是 X 里的 Callback URI 和 Social Quack 显示的那个对不上 从 Set up app keys 面板里重新复制那个回调地址,粘进应用 → Settings → Callback URI 并保存,然后在 Social Quack 的 X 卡片上点 Connect
浏览器停在 Connected! 页面上,没有把您带回去 一切正常 —— Social Quack 是在您平时的浏览器里打开 X 的,浏览器没法跳回应用里 关掉标签页切回 Social Quack;账号已经在 Channels 页面上了
用了一阵子之后帖子开始失败,而您这边什么都没改 您的额度用完了 —— 每条帖子都要花几美分 Billing → Credits,充值
帖子失败,报 429 或者 500 开头的错误 X 在对您限流,或者它自己出了点状况 什么都不用做 —— Social Quack 把这些当作临时状况,会自己重试
API Key Secret 弄丢了 它只会显示那一次 对 Consumer Key 点 Regenerate,把新的一对粘进 Set up app keys 并点 Save —— 每一个用到 X 的工作区都要做,因为旧的那一对在所有地方都失效了

还是不行?[email protected]。

卡在某一步了?写信到 [email protected],会有真人回复您。