☰
如何用treg接入Instagram OAuth?直接登录与Facebook Page工具配置指南
2026/9/26 18:07:07 网站建设 项目流程

如何用treg接入Instagram OAuth?直接登录与Facebook Page工具配置指南

【免费下载链接】tregOpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn项目地址: https://gitcode.com/GitHub_Trending/treg/treg

如果你想在 AI Agent 中安全地调用自己的 Instagram 账号数据,treg(OpenRouter for agent tools)提供了完整的 Instagram OAuth 接入方案。treg 是一个面向 Agent 的工具注册中心与 API 代理,本文带你走通两条授权路线:Instagram 直接登录(instagram-login)与Facebook Page 工具(facebook-page),从账号准备、Dashboard 一键授权到 CLI 命令行连接,全部讲清楚。

为什么用 treg 连接 Instagram,而不是自己申请 API Key?

自己对接 Instagram Graph API 意味着你要:创建 Meta App、申请 Advanced Access、管理 access token 的过期与刷新、处理限流……而 treg 把这些全部托管了:

  • 凭据永不离开服务器:OAuth token 加密存储在服务端,treg 自动刷新,你的 Agent 拿到的只是调用结果;
  • 32 个已验证的 Instagram 端点:资料、帖子、评论、Insights 数据、私信、发帖、标签搜索等,按端点 ID 直接调用;
  • 私有数据,爬虫拿不到:比如你账号的真实触达(reach)、收藏数(saves)、主页浏览量,只有官方 OAuth 授权才能读到;
  • 团队共享:连接一次,团队里所有成员和 Agent 都能调用。

完整的端点定义见 src/treg/catalog/instagram.yaml 与 src/treg/catalog/instagram.extended.yaml,每个端点都声明了路径、参数与权限要求。

两条授权路线怎么选:直接登录 vs Facebook Page 工具

treg 把instagram设计为一个目录供应商下的两种独立授权(grant),二选一或同时拥有:

对比项🟢 Instagram 直接登录(instagram-login)🔵 Facebook Page 工具(facebook-page)
走的接口Instagram 自己的域名graph.instagram.comgraph.facebook.com
账号要求Instagram企业版(Business)或创作者(Creator)账号即可企业版账号必须已关联一个 Facebook 主页
支持的端点21 个共享端点21 个共享端点 +11 个 Page 专属端点
独占能力无需 Facebook 主页,个人创作者友好标签搜索(hashtag search)、商业发现(business discovery)、@提及查询、产品申诉等
私信权限manage能力直接包含需要额外勾选page-messages能力

💡 简单判断:没有 Facebook 主页→ 走直接登录;有主页且想做标签/竞品类数据→ 走 Facebook Page 工具。两者互不替代——直接登录的授权无法调用 Page 专属端点。

授权契约的完整说明(包括权限映射与端点矩阵)在 docs/context/architecture/instagram-oauth.md。

准备工作:Meta 侧的 4 项检查

连接之前,请确认以下条件(一次配置,长期有效):

  1. Instagram 账号已转为企业版或创作者账号(Settings → Account type),否则授权回调后无法识别账号;
  2. 走 Facebook Page 路线的话,在 Instagram 后台把企业账号与你的 Facebook 主页完成关联;
  3. 回调地址已登记:在 Meta App Dashboard 中,把 treg 的生产回调地址(oauth/callback路径)加入 Instagram 的 Business login 设置;本地调试时临时替换为你自己的隧道地址;
  4. 应用密钥已配置:Instagram 专用的 App ID / Secret 分别写入服务端环境变量TREG_INSTAGRAM_CLIENT_ID与TREG_INSTAGRAM_CLIENT_SECRET(切勿写进代码仓库);Page 路线复用的 Meta 应用凭据则为TREG_META_CLIENT_ID/TREG_META_CLIENT_SECRET。

⚠️ 如果让用户连接应用所有者不管理的账号,还需要在 Meta 侧申请相关权限的 Advanced Access。官方要求的权限清单(instagram_business_basic、instagram_business_manage_insights、instagram_business_content_publish等)同样记录在架构文档 docs/context/architecture/instagram-oauth.md。

三步完成连接:Dashboard 浏览器授权(推荐新手)

登录 treg 后台后,整个 OAuth 流程在浏览器内完成,无需任何本地配置:

  1. 进入供应商连接页:在 Marketplace / Connections 视图找到 Instagram,点击Add account(添加账号);
  2. 选择授权方式:页面会展示两个单选项——Instagram 直接登录 或 Facebook Page 工具。选择后会出现能力选择器:直接登录可选读取 / 发帖 / 管理(manage);Page 路线可选核心工具(page-tools)或加上私信(page-messages);
  3. 浏览器授权:跳转 Meta 同意页 → 登录后选择要授权的账号 → 自动回到 treg。回调完成后,treg 会把短期 token 换成可自动刷新的长期 token,并把你授权的专业账号存为所选资源,直接生成可用工具。

连接后建议做一次健康检查:treg health --run会重新校验 OAuth 凭证状态与到期时间。

如果账号识别失败,连接记录会显示health=setup_required,这通常意味着账号还不是企业版/创作者账号——切换账号类型后重新连接即可,此时不会创建任何工具。

命令行连接:treg connections connect 一条命令

习惯终端的开发者可以用 CLI 完成同样的事(命令详见 docs/context/interface/cli.md 与 USAGE.md):

# 连接 Instagram(浏览器授权 → treg 自动捕获 token) treg connections connect --provider instagram # Page 路线:核心工具 / 私信能力 treg connections connect --provider instagram --capability page-tools treg connections connect --provider instagram --capability page-messages

授权开始前,CLI 会先向服务端取回当前生效的连接指引(POST /oauth/start返回的connect_guidance)并打印出来,让你看清本次授权将请求哪些权限。同一时期,--authorization-method与能力默认值由服务端的审核状态统一控制,CLI 本身不包含任何 Instagram 专属逻辑。

连接完成后,可用treg connections ls查看已连接账号与健康状态,treg connections resources <id>查看授权背后发现的账号。

调用 Instagram 数据:treg call 实战

连接成功后,像调用任何目录端点一样使用:

treg catalog search "instagram profile" # 按能力搜索端点 treg catalog get instagram.instagram.user.profile # 查看参数与价格 treg call instagram.instagram.user.profile \ --query "ig_user_id=17841400000000000" \ --query "fields=id,username,followers_count,media_count"

几个高频端点示例:

端点 ID能做什么
instagram.instagram.user.profile读取自己账号的资料、粉丝数
instagram.instagram.user.posts列出帖子、点赞与评论数
instagram.instagram.account.insights账号触达、互动、受众指标(day / week / days_28)
instagram.instagram.media.insights单条帖子的触达、收藏、分享数据
instagram.instagram.message.send回复客户主动发起的私信(受 Meta 消息窗口政策约束)

双方法端点如何选授权?当一个端点两种路线都支持时,可用--authorization-method instagram-login或facebook-page显式指定(API 调用则用X-Treg-Authorization-Method头,该头只被 treg 消费、不会转发给上游)。省略时按确定规则回退:只有一个已连接授权就用它,否则默认 Instagram 直接登录。

遇到 HTTP 428 别慌:它表示"该端点需要一种你还没连的授权",返回体里带有稳定的字段——缺少的授权、所需能力、权限列表、修复用的 CLI 命令和 Dashboard 操作入口,照着执行即可,而不是一个模糊的报错。

常见问题(FAQ)

Q1:连接成功但没有生成工具?账号不是 Business/Creator 类型时,连接会保留但标记为setup_required。转换账号类型后重新连接即可。

Q2:直接登录能调用 hashtag 搜索吗?不能。标签搜索、商业发现等 11 个端点是Page 专属,需要facebook-page授权且账号已关联主页。这正是"两个授权相互独立"的设计。

Q3:发消息会不会变成群发工具?不会。instagram.instagram.message.send是回复型接口:对方必须先联系你,且受 Meta 的消息窗口与政策限制。发帖同样有配额——每个账号 24 小时最多 100 条 API 发布的帖子(轮播算一条),可先调用content_publishing_limit查询剩余额度。

Q4:旧的 Facebook Login 授权还能用吗?可以。数据库迁移 0010 会把历史 Instagram 授权标记为facebook-page,滚动升级无需重新连接。

参考资料

  • 架构契约与已验证端点矩阵:docs/context/architecture/instagram-oauth.md
  • 端点目录定义:src/treg/catalog/instagram.yaml、src/treg/catalog/instagram.extended.yaml
  • CLI 命令参考:docs/context/interface/cli.md、USAGE.md
  • 连接前端状态实现:frontend/src/state/connections.js
  • 架构测试:tests/test_instagram_oauth_architecture.py

按上面的步骤走一遍,大约 5 分钟就能让 Agent 安全地读到你 Instagram 账号的私有数据——token 管理、刷新、权限缺口提示,全部交给 treg 处理。🚀

【免费下载链接】tregOpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn项目地址: https://gitcode.com/GitHub_Trending/treg/treg

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询