/ 技术 / 7浏览

通过AI Agent访问Facebook广告数据

想让 AI agent(Claude Code、自己写的脚本都算)直接查 Facebook 广告数据,绕不开一个长期有效的 access token。Graph API Explorer 里点出来的用户 token 一两小时就过期,走 Business 后台的 System User 拿到的 token 才是不过期的。整个过程要在开发者后台和 Business 后台之间来回跳几次,我把步骤记下来。

让 AI Agent 读 Facebook 广告数据:7 步拿到 token 的全流程图,开发者后台建 App、勾选 Marketing API、选对 Business、绑定资产,Business 后台建 System User、分配权限、生成不过期 token

开发者后台:建 App

先到 Facebook 开发者后台,添加一个 App,名字和联系邮箱随便填。

Meta 开发者后台 Create an app 第一步,填 App 名称和联系邮箱

Use cases 这一步勾选广告相关的两项:Marketing API 和 Meta Ads Manager。

勾选 Create & manage ads with Marketing API 和 Meta Ads Manager 两个用例

Business 那一步,一定要选你广告账户所在的那个 Business。选错了后面 System User 分配权限时找不到广告账户,得回来重建 App。

App 建好后进 App settings,Advanced,往下拉:App Page 选一个主页,Authorized ad account IDs 填要查的广告账户 ID,保存。

App settings 的 Advanced 页面:绑定 App Page 和 Authorized ad account IDs 后 Save Changes

Business 后台:建 System User

去 Business 后台的 System users,Users 下面,Add 一个 system user,角色 Employee 就够。

Business 后台 Users > System users,点 Add 弹出 Create system user 对话框

这里有个搞笑的 bug,估计是 Meta 工作人员 vibe coding 出来的:用户名大小写混着写,会提示大写字母太多;全部大写反而能过。😂

输入 ANALytics 时提示 Profile names can't have too many capital letters

然后去 Accounts 下的 Ad accounts,选中广告账户,Assign people,把刚建的 system user 勾上。权限开 Partial access 里的 Manage campaigns 就行,只看数据的话 View performance 也够。

Ad accounts 页面选中广告账户后点 Assign people
Add people and set permissions 对话框:勾选 system user,开启 Manage campaigns 权限后 Assign

复制这个 system user 的 ID 备用。

回开发者后台:把 System User 加进 App

回到 App 管理界面,App roles,Roles,Add People。

开发者后台 App roles > Roles 页面,右上角 Add People

角色选 Administrator,下面的搜索框粘贴 system user 的 ID,Add。

Add people to your app 对话框:选 Administrator,粘贴 system user ID

生成 token

再回 Business 后台的 System users,选中这个用户,Generate token。

System users 页面选中用户后点 Generate token

选刚建的 App,过期时间选 Never,权限至少勾 ads_read;要让 agent 改预算、开关广告就再加 ads_management。我这里顺手多勾了几个 pages 和 business 相关的,方便以后查主页数据。

Generate token 的 Assign permissions 步骤,勾选 ads_management、ads_read、business_management 等权限

token 以 EAA 开头,只显示这一次,关掉就找不回来了,先存好。

Token created 对话框,token 以 EAA 开头,点 Copy 复制

给 agent 用

有了 token 和广告账户 ID,agent 直接调 Graph API 就行。先拿一条验证:

curl "https://graph.facebook.com/v26.0/act_<广告账户ID>/insights?date_preset=last_7d&fields=spend,impressions,clicks,cpc&access_token=<token>"

能返回数据,后面就是把这个 curl 写进 agent 的 skill 或者 MCP server,让它自己按需查、按需改。

一句提醒:这个 token 有 ads_management 权限,等于能动你的广告账户。放环境变量里,别贴进聊天记录,也别提交到 git。

0

  1. This post has no comment yet

发表回复