一步步去 Meta 和 Google 后台,把发帖要用的「钥匙」取出来交给系统
2026-06-23
一句话:要让一个统一后台(Postiz)帮你一键发到 Instagram、Facebook、YouTube,你得先分别去 Meta 和 Google 的「开发者后台」各申请一把「带权限的钥匙」(OAuth 凭据),再把钥匙交给系统——这篇就是手把手教你去哪、点哪、拿什么。
说明:本文针对已经搭好的私有实例
https://postiz.leonardchow.work。里面所有链接、权限名、限额都按 2026 年 6 月的官方文档核对过(来源见文末)。你只需要照着做,把最后拿到的几串字符发回给我即可。
Postiz 是一个「一处编辑、多平台发布」的发帖后台(开源软件,我已经帮你装在自己的服务器上)。但它不能凭空替你发帖——每个平台都要求:先证明「这个账号的主人同意让这个软件代发帖」。证明的方式,就是行业通用的 OAuth。
OAuth(读作「欧-奥斯」):一种「授权」机制。核心好处是——你不用把账号密码交给第三方软件,而是去平台官方页面点一下「同意」,平台就发给软件一把只能做指定几件事的钥匙。哪天不放心了,在平台后台把这把钥匙吊销即可,完全不影响你的密码。
要拿到这把钥匙,你得先在平台的「开发者后台」注册一个应用(App),登记几项信息,平台才肯发钥匙。整个过程会反复出现这几个词,先一次说清:
| 词 | 大白话解释 |
|---|---|
| App ID / App Secret | 你注册的那个应用的「用户名 / 密码」。Secret(密钥)要保密,别截图发群里。 |
| Client ID / Client Secret | 跟上面一回事,只是 Google 那边换了个叫法。 |
| redirect URI(重定向地址) | 你点完「同意」后,平台把你「送回」的网址。必须事先登记、一字不差,否则平台拒绝放行。我们的地址是固定的(下面给)。 |
| scope(权限范围) | 这把钥匙「能开哪几扇门」。比如「代发帖」是一扇门,「读评论」是另一扇门。只申请够用的就行。 |
| token(令牌) | 平台最终发给软件的那把「钥匙」本体——一串相当于临时密码的字符。这一步 Postiz 自动完成,你不用管。 |
你要做的,就是图里下半部分那条线:去平台后台把钥匙取出来,交给 Postiz。上半部分(真正发帖)是它自动的。
这几样必须先有,否则中途会卡。先对照打勾:
| 准备项 | 说明 / 怎么确认 |
|---|---|
| 一个 Facebook 主页(Page) | 不是个人时间线,是「主页」。你得是它的管理员。没有就先在 facebook.com 建一个。 |
| 一个 Instagram 专业号 | 必须是「商家」或「创作者」账号(在 IG 设置里可一键切换),普通个人号不行,而且要关联到上面那个 Facebook 主页。 |
| 一个 Google 账号 + YouTube 频道 | 用来发 YouTube。频道得是你能登录管理的。 |
为什么 IG 这么麻烦?因为 Instagram 的对外发帖能力是「挂在 Facebook 主页底下」的——平台规定专业号才开放接口,且要通过关联的主页来访问。这是 Meta 的硬规矩,不是 Postiz 的限制。
好消息:Facebook 和 Instagram 共用同一个 Meta 应用,不用建两个。
第 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_ID 和
FACEBOOK_APP_SECRET(这一个应用同时供 Facebook 和 Instagram
用)。
小知识(限额):Instagram 通过接口发帖的上限,现在是滚动 24 小时内 100 条(一个轮播多图算 1 条)。网上很多老教程还写「每天 25 条」,那是过时的数字。日常发帖完全够用。
第 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_ID
和 YOUTUBE_CLIENT_SECRET。
两个必须知道的坑:
- 未审计项目上传的视频会被锁成「私有」:Google 规定,通过「未经 API 合规审计」的项目上传的 YouTube 视频会被强制设为私有,且无法申诉。自己测试看得到没问题;但要公开发布,这个云项目得另外走一次「API 合规审计」。
- 上传额度:
videos.insert现在用独立额度桶,每天约 100 次上传,够用;要更多同样得走合规审计申请扩额。这两条不影响你现在「拿到凭据、连上号、发测试视频」,但公开发量产视频前要心里有数。
你把上面两组凭据发回来,我这边会:
/opt/postiz/.env,重启服务(几十秒)。| 平台 | 你最终要给我的 | 我填到哪 |
|---|---|---|
| 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 + 密钥」。回调地址和权限名照抄本文即可,不会错。