给自建 Postiz 接上 Instagram / Facebook / YouTube:拿 OAuth 凭据的保姆级教程

一步步去 Meta 和 Google 后台,把发帖要用的「钥匙」取出来交给系统

leonardchow.work · 读物

2026-06-23

一句话:要让一个统一后台(Postiz)帮你一键发到 Instagram、Facebook、YouTube,你得先分别去 Meta 和 Google 的「开发者后台」各申请一把「带权限的钥匙」(OAuth 凭据),再把钥匙交给系统——这篇就是手把手教你去哪、点哪、拿什么。

说明:本文针对已经搭好的私有实例 https://postiz.leonardchow.work。里面所有链接、权限名、限额都按 2026 年 6 月的官方文档核对过(来源见文末)。你只需要照着做,把最后拿到的几串字符发回给我即可。


0. 先搞懂你在干嘛(全貌)

Postiz 是一个「一处编辑、多平台发布」的发帖后台(开源软件,我已经帮你装在自己的服务器上)。但它不能凭空替你发帖——每个平台都要求:先证明「这个账号的主人同意让这个软件代发帖」。证明的方式,就是行业通用的 OAuth

OAuth(读作「欧-奥斯」):一种「授权」机制。核心好处是——你不用把账号密码交给第三方软件,而是去平台官方页面点一下「同意」,平台就发给软件一把只能做指定几件事的钥匙。哪天不放心了,在平台后台把这把钥匙吊销即可,完全不影响你的密码。

要拿到这把钥匙,你得先在平台的「开发者后台」注册一个应用(App),登记几项信息,平台才肯发钥匙。整个过程会反复出现这几个词,先一次说清:

大白话解释
App ID / App Secret 你注册的那个应用的「用户名 / 密码」。Secret(密钥)要保密,别截图发群里。
Client ID / Client Secret 跟上面一回事,只是 Google 那边换了个叫法。
redirect URI(重定向地址) 你点完「同意」后,平台把你「送回」的网址。必须事先登记、一字不差,否则平台拒绝放行。我们的地址是固定的(下面给)。
scope(权限范围) 这把钥匙「能开哪几扇门」。比如「代发帖」是一扇门,「读评论」是另一扇门。只申请够用的就行。
token(令牌) 平台最终发给软件的那把「钥匙」本体——一串相当于临时密码的字符。这一步 Postiz 自动完成,你不用管。
一处编辑经 Postiz 分发到三个平台;凭据(钥匙)从 Meta、Google 后台流入 Postiz

你要做的,就是图里下半部分那条线:去平台后台把钥匙取出来,交给 Postiz。上半部分(真正发帖)是它自动的。


1. 开始前的准备(缺一项就卡住)

这几样必须先有,否则中途会卡。先对照打勾:

准备项 说明 / 怎么确认
一个 Facebook 主页(Page) 不是个人时间线,是「主页」。你得是它的管理员。没有就先在 facebook.com 建一个。
一个 Instagram 专业号 必须是「商家」或「创作者」账号(在 IG 设置里可一键切换),普通个人号不行,而且要关联到上面那个 Facebook 主页
一个 Google 账号 + YouTube 频道 用来发 YouTube。频道得是你能登录管理的。

为什么 IG 这么麻烦?因为 Instagram 的对外发帖能力是「挂在 Facebook 主页底下」的——平台规定专业号才开放接口,且要通过关联的主页来访问。这是 Meta 的硬规矩,不是 Postiz 的限制。

发帖前必须先备齐的三项前提:FB 主页、关联主页的 IG 专业号、带频道的 Google 账号

2. Meta:一个应用,同时管 Facebook 主页 + Instagram

好消息:Facebook 和 Instagram 共用同一个 Meta 应用,不用建两个。

Meta 开发者后台的六步路径:建应用→加产品→填回调地址→申请权限→切 Live→复制 App ID/Secret

第 1 步 · 进开发者后台建应用 打开 👉 https://developers.facebook.com/apps/(没注册过开发者会让你先同意条款、验证一下手机/邮箱,跟着走即可)。 点 「创建应用 / Create App」。应用类型选 「商务 / Business」。填个名字(随便,比如 postiz-poster),创建。

第 2 步 · 加「Facebook 登录」产品 进应用后,在左侧或「添加产品」里找到 「Facebook Login for Business(用于商务的 Facebook 登录)」,点它的 「设置 / Set up」

「产品(Product)」在这里 = 给你的应用加一项能力模块。我们要的能力就是「让用户用 Facebook 登录并授权」,所以加这个。

第 3 步 · 登记「回调地址」(最容易错的一步)Facebook Login for Business → 设置 / Settings,找到 「有效 OAuth 重定向 URI / Valid OAuth Redirect URIs」,把下面两行原样粘进去(各占一行,结尾不要多加斜杠或空格):

https://postiz.leonardchow.work/integrations/social/facebook
https://postiz.leonardchow.work/integrations/social/instagram

保存。这两行必须和系统里的设置一字不差,差一个字符授权就会失败(报 redirect_uri mismatch)。

第 4 步 · 申请发帖需要的权限(scope) 在应用的 「权限和功能 / Permissions and Features」(或申请 Advanced Access 的页面)里,确认/申请下面这些权限——发主页和发 IG 都要:

权限名 用来干嘛
pages_show_list 列出你管理的主页
pages_manage_posts 代发主页帖子(核心)
pages_read_engagement / pages_manage_engagement 读/管主页互动
business_management 访问你的商务资产
instagram_basic 读取 IG 基本信息
instagram_content_publish 代发 Instagram 帖子(核心)

重点澄清:发你自己的账号,不需要通过「应用审核(App Review)」,也不需要「商家验证」。 平台默认给的「标准访问(Standard Access)」就够你给「在应用里有角色的账号」(也就是你自己)发帖。应用审核只有在你要替「不属于你的别人账号」发帖(做成对外多租户服务)时才需要。

第 5 步 · 把应用切到「上线 / Live」 在后台顶部把 App Mode 从「开发 / Development」切到「上线 / Live」。 为什么?因为在「开发」模式下,通过接口发出去的带图帖子,只有应用的开发者/测试者本人看得到图,别人看到的帖子是没有图的。切到 Live,图才对所有人可见。(切 Live 本身不会触发「应用审核」。)

第 6 步 · 把 IG 账号加为「测试者」并接受邀请应用后台 → 应用角色 / App Roles → 角色 / Roles(或 Instagram Testers)里,点「添加用户」,选 「Instagram 测试者 / Instagram Tester」,填你的 IG 用户名。 然后去 Instagram 这边接受:IG 设置 → 应用和网站 / Apps and websites → 测试者邀请 / Tester invites → 接受。 > 漏了这一步,连号时会报「could not add provider(加不上)」——这是最常见的卡点。

第 7 步 · 拿到要交给我的东西 🔑 进 设置 → 基本 / Settings → Basic,这里有:

把这两串发给我 → 我填进服务器的 FACEBOOK_APP_IDFACEBOOK_APP_SECRET(这一个应用同时供 Facebook 和 Instagram 用)。

小知识(限额):Instagram 通过接口发帖的上限,现在是滚动 24 小时内 100 条(一个轮播多图算 1 条)。网上很多老教程还写「每天 25 条」,那是过时的数字。日常发帖完全够用。


3. Google:给 YouTube 上传视频

Google Cloud 后台的六步路径:建项目→开 API→配同意屏(External+测试用户)→建 Web 客户端→填回调地址→复制 Client ID/Secret

第 1 步 · 建一个项目 打开 👉 https://console.cloud.google.com/,顶部点项目下拉 → 「新建项目 / New Project」,起个名(如 postiz-youtube),创建,然后确保右上角已切到这个项目。

「项目(Project)」= Google 云里的一个独立工作空间,你开的接口、建的凭据都归在它名下。

第 2 步 · 打开 YouTube 接口 左侧菜单 「API 和服务 / APIs & Services」→「库 / Library」,搜 「YouTube Data API v3」,点进去 「启用 / Enable」。 顺手把 「YouTube Analytics API」「YouTube Reporting API」 也启用(Postiz 的数据统计功能会用到;不影响发帖,但建议一起开)。

YouTube Data API v3 就是「上传视频」这个动作所在的接口(上传方法叫 videos.insert)。

第 3 步 · 配「同意屏」并把自己设为测试用户 左侧 「OAuth 同意屏 / OAuth consent screen」:

第 4 步 · 创建 OAuth 客户端 左侧 「凭据 / Credentials」→ 顶部「创建凭据 / Create Credentials」→「OAuth 客户端 ID / OAuth client ID」:

https://postiz.leonardchow.work/integrations/social/youtube

创建。

第 5 步 · 拿到要交给我的东西 🔑 创建完会弹出 客户端 ID / Client ID客户端密钥 / Client Secret。把这两串发给我 → 我填进 YOUTUBE_CLIENT_IDYOUTUBE_CLIENT_SECRET

两个必须知道的坑:

  1. 未审计项目上传的视频会被锁成「私有」:Google 规定,通过「未经 API 合规审计」的项目上传的 YouTube 视频会被强制设为私有,且无法申诉。自己测试看得到没问题;但要公开发布,这个云项目得另外走一次「API 合规审计」。
  2. 上传额度:videos.insert 现在用独立额度桶,每天约 100 次上传,够用;要更多同样得走合规审计申请扩额。

这两条不影响你现在「拿到凭据、连上号、发测试视频」,但公开发量产视频前要心里有数。


4. 交给我之后会发生什么

你把上面两组凭据发回来,我这边会:

  1. 把它们填进服务器 /opt/postiz/.env,重启服务(几十秒)。
  2. 在 Postiz 后台点「连接账号」,分别授权 Facebook 主页、Instagram、YouTube 频道——这一步你会看到平台弹出的「是否同意」页面,点同意即可,那一刻钥匙就发出来了
  3. 每个平台各发一条测试帖/测试视频,确认真的发出去、能看到。
平台 你最终要给我的 我填到哪
Facebook + Instagram App ID、App Secret FACEBOOK_APP_ID / FACEBOOK_APP_SECRET
YouTube Client ID、Client Secret YOUTUBE_CLIENT_ID / YOUTUBE_CLIENT_SECRET

安全提醒:这几串 Secret 等于密码,发我私聊即可,别贴到公开群或截图带出来。万一泄漏,在对应后台一键重置(Reset)就作废重发。


末. 小结 / 你的行动清单

整条路看着步骤多,其实就两件事:在两个后台各注册一个应用、各抄一对「ID + 密钥」。回调地址和权限名照抄本文即可,不会错。