全部指南

把 Instagram 连接到 Social Quack

把帖子排到您自己的 Instagram 账号 —— 不需要 Facebook 主页,不需要 App Review,几分钟,而且只做这一次。

除非排程工具属于您自己,否则 Instagram 不会允许它代您发帖。所以这件一次性的活儿就是:在 Meta 的网站上创建一个属于您自己的、免费的小型开发者应用,再把其中两个值粘贴进 Social Quack。这两个值加密保存在您自己的 Mac 上;而既然这个开发者应用是您的,Instagram 的发布额度也只属于您 —— 不存在一个和别人共用的池子,别人的行为连累不到您被限流或封禁。

请把 Social Quack 和浏览器并排放着用:浏览器里开 Meta 的开发者网站,应用摆在旁边。每一个要粘贴到 Meta 网站上的值,应用里都在旁边配了复制按钮。

1. 您的 Instagram 账号必须是专业账号

Social Quack 只能发到专业账号 —— 商家号或创作者号。在手机上的 Instagram 应用里:Settings → Account type(设置 → 账号类型)。个人账号根本无法通过 Instagram 的发布工具发帖,所以这一点值得在动手之前先确认。

您不需要 Facebook 主页,账号也不必和任何主页关联。

2. 在 Social Quack 里打开密钥窗口

在应用中点侧边栏的 Channels(渠道),在 Add a channel(添加渠道)下找到 Instagram,点 Set up app keys(设置应用密钥)。

让这个窗口一直开着。接下来要用到的三样东西都在里面:

  • 和本页面相同的步骤,简版;
  • 回调地址 —— 也就是您登录之后 Instagram 把您送回去的地址。Social Quack 会按您自己的环境算出正确的那一个,并配上复制按钮显示出来,所以请始终从这里取,别自己敲一个看着差不多的;
  • 两个待粘贴的输入框:Instagram App ID 和 Instagram App Secret。

3. 给 Meta 应用添加 Instagram 用途

  1. 前往 https://developers.facebook.com,用您的 Facebook 账号登录。
  2. 打开您的应用。如果之前为了连接 Threads 已经建过一个,那个应用直接就能用 —— 不必再建第二个。
  3. 从来没建过?My Apps → Create app,名字随便取,当 Meta 问您这个应用要做什么时选用途 "Manage messaging & content on Instagram",它要求关联 business portfolio(商务组合)时就关联一个或新建一个。
  4. 在应用里选 Add use case → "Manage messaging & content on Instagram" —— 如果创建应用时您刚好已经选了它,那它已经在那儿了。

这个用途以前叫 Instagram API with Instagram Login。同一个东西,改了名 —— 在旧文章里看到老名字,说明您没走错地方。

4. 告诉应用把您送回哪里

在这个用途里打开 API setup with Instagram login → Set up Instagram business login,填三个框:

Meta 页面上的输入框 填什么
OAuth redirect URIs Social Quack 在 Set up app keys 窗口里显示给您、旁边带复制按钮的那个回调地址。从那里复制 —— 不要手敲。
Deauthorize URL https://socialquack.com/oauth/callback/uninstall
Data deletion URL https://socialquack.com/oauth/callback/delete

保存这个页面。回调地址必须一个字符都不差,所以务必复制而不是手打 —— Instagram 登录页拒绝继续,最常见的原因就是这个。

这个地址在 socialquack.com 上而不是在您自己的电脑上,不用觉得奇怪。Instagram 拒绝任何会把您送回普通非加密地址的登录,所以 Social Quack 给了您一个加密地址去登记,再把登录结果直接交回运行在您 Mac 上的应用。

5. 把两个密钥复制进 Social Quack

还是这个页面,找到 Instagram App ID 和 Instagram App Secret,粘贴到 Social Quack 里对应的两个框中。

这两个不是后台其他地方显示的 Meta App ID 和密钥。它们长得很像,但是两串不同的数字。请从 API setup with Instagram login 里取。

点 Save(保存)。Social Quack 会把它们加密保存在您的 Mac 上,并立刻在浏览器里打开 Instagram 的登录页。如果第 6 步还没做,这第一次登录会失败 —— 这是意料之中的,第 6 步就是解决办法。

等登录真的走通之后 —— 也就是做完第 6 步 —— Instagram 会让您授予三项权限:

权限 作用
instagram_business_basic 读取您的用户名和头像,好让账号出现在 Connected(已连接)下面
instagram_business_content_publish 发布您排好的帖子
instagram_business_manage_comments 把多段帖子的后续段落作为评论发出去

三项全部同意。第三项负责把多段帖子的后续段落变成评论 —— 没有它,帖子本身照样发出去,然后报 "Posted, but adding the comment thread failed"。

6. 把您的账号加为 Instagram Tester —— 并接受邀请

您的应用会一直留在 Development 模式(见第 8 步),而在这个模式下,Instagram 只允许您邀请过的账号使用它。您自己的账号就是其中之一:

  1. 在您的 Meta 应用里:App roles → Roles → Add people → 把您的 Instagram 账号加为 Instagram Tester。
  2. 然后在手机上的 Instagram 应用里接受邀请:Settings → Website permissions → Apps and websites → Tester invites(设置 → 网站权限 → 应用和网站 → 测试者邀请)。

在您接受之前,邀请一直是待处理状态,第 5 步的登录就会失败。如果您第一次尝试连接就被报错弹了回来,几乎肯定是这个原因 —— 接受邀请,然后在 Instagram 卡片上再点一次 Connect(连接)。

7. 媒体托管 —— 每条 Instagram 帖子都得有图片或视频

这一步是由 Instagram 的两条规矩决定的:它没有纯文字帖,而且它是从一个公开的网址去抓取图片和视频,而不是接受上传。

在 Social Quack 里打开 Settings → Media hosting(设置 → 媒体托管)。只要许可证有效,Social Quack 就替您托管这些文件,您什么都不用设置:文件只在帖子发出的那一刻被复制一份,一天之内就删除,您的原件始终不离开您的 Mac。如果您更愿意自己来托管,Use your own bucket instead(改用您自己的存储桶)支持任何兼容 S3 的存储 —— 配了自定义域名的 Cloudflare R2 存储桶就很好用。

因为没有纯文字帖,Social Quack 会在您排程时就拦住这样的帖子,而不是让它之后才失败:"Instagram has no text-only posts — attach an image or video"。而如果附了文件却没有地方托管,帖子会在到点时失败,提示 "This platform needs a public URL for media…" —— 激活您的许可证,或者在这里配置您自己的存储桶。

8. 发点东西试试

打开 Compose(撰写),勾选 Instagram 渠道,附上图片或视频,写好文案,排定时间。

  • 文案最多 2,200 个字符。
  • 最多附 10 张图片或视频 —— 超过一个就成了轮播。
  • 单个视频会作为 Reel 发布。
  • 多段帖子的额外段落会变成评论:第一个额外段落作为该帖的评论发出,再往后的段落则是对这条评论的回复。
  • 发布之后,Queue(队列)里会直接给出这条帖子在 Instagram 上的链接。

整件事就这些。您的应用一直留在 Development 模式,发到您自己的账号有这个就够了 —— 不需要通过任何 App Review。 只要您持续发帖,这个连接就会自我续期:Instagram 发的是一张 60 天的通行证,当这张通行证进入最后一周、又恰好有帖子发到这个账号时,Social Quack 会替您换一张新的。要是两个月没动静,通行证就自然过期 —— Instagram 届时会要求您重新连接账号。

出问题时怎么办

您看到的情况 这说明什么 该怎么做
Instagram 登录失败,或者直接带着报错弹回来 Tester 邀请还处于待处理状态 在 Instagram 应用里接受它:Settings → Website permissions → Apps and websites → Tester invites,然后重新连接(第 6 步)
Instagram 干脆不让连接这个账号 它是个人账号 在 Instagram 应用里切换成商家号或创作者号:Settings → Account type(第 1 步)
Instagram 的登录页抱怨回调地址,或者始终不回到应用 保存在 Meta 那边的回调地址不完全一致 在 Channels → Instagram → Edit app keys(编辑应用密钥)里用复制按钮重新复制一遍,粘贴到 Meta 的 OAuth redirect URIs 里保存,再连接一次(第 4 步)
登录刚一开始就被拒绝 粘的是 Meta 的 App ID 和密钥,不是 Instagram 的那两个 从 API setup with Instagram login 里取 Instagram App ID 和 Instagram App Secret(第 5 步)
明明已经在这个浏览器里登录了,Instagram 还让您再登一次 正常现象 —— 连接时总是要求重新登录一次 照常登录即可
"Instagram has no text-only posts — attach an image or video"(点 Post now(立即发布)时是 "Instagram requires an image or video on every post") 这条帖子没有图片或视频,而 Instagram 没有纯文字帖 在 Compose 里附一个文件,或者把这条帖子的 Instagram 渠道取消勾选(第 7 步)
"This platform needs a public URL for media…" Instagram 要从一个网址去抓图片和视频,而 Social Quack 没有地方放它们 在 Settings → License(设置 → 许可证)里激活许可证,或者在 Settings → Media hosting 下配置您自己的存储桶(第 7 步)
"Instagram could not process the media" Instagram 拒绝了文件本身 换一个文件试试 —— 标准的 JPEG 或 MP4,尽量接近您平时从手机发出去的那种
"Instagram took too long to process the media" 大视频还在 Instagram 那边处理 什么都不用做;Social Quack 认为这是暂时性问题,会自动重试
"Posted, but adding the comment thread failed" 帖子已经发出去了,但后续段落没能补上 打开 Channels,重新连接 Instagram,三项权限全部同意,评论那项也别漏(第 5 步)—— 同一个账号会原地重连

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