ActionKey / 接入指南 02

选择凭证与接入接口

ActionKey 是尤里改旗下的 AI 资产授权服务。先确认拿到的是尤里改内部中转 Token,还是 BM 中生成的 Meta System User Token。凭证不同,请求域名和资产授权步骤也不同。

01 / 先准备账户、权限和运行环境

无论用 AI 助手还是自研投放系统,都需要可访问的广告账户、广告使用的主页,以及与接入路线匹配的凭证。

  1. 明确业务对象。列出要操作的广告户、主页,以及查询、创建、预算或状态调整需求。涉及像素、Instagram 身份等资产时,一并确认所需授权。
  2. 确认凭证来源。开通时说明要走 ActionKey 中转接口,还是 BM 内的 Meta System User Token;按下面对应路线配置。
  3. 准备受控环境。将凭证保存在服务端或 Agent 运行环境的凭证存储中,再接入客户端或业务系统。
广告户已完成 BM 分享后,仍需确认实际授权

客户无需另外准备个户。分享资产、分配 System User 权限和生成 Token 是不同环节,开通团队会根据你的接入路线确认需要完成的步骤。

只想连接 Claude、Codex、Gemini 或 Grok,先看各 AI 助手的接入方法;需要长期运行、定时查询或按规则执行,再看Agent 工作流。

02 / 两类 Token,走两条接入路线

不要只看凭证都叫 access_token。先确认是谁签发的,再选择请求地址和授权步骤。

你拿到的凭证Graph 请求域名资产与权限如何确认
尤里改内部中转 access_token
由尤里改团队提供
facebook-graph.baiz.ai
需要修改原 Graph 请求域名
由 ActionKey 开通的可访问资产与操作范围;按代理接口验证。
Meta System User Token
BM 内使用尤里改授权的 App 生成
graph.facebook.com
使用 Meta 原生 Graph API
向对应 System User 分别分配广告户、主页资产权限;生成 Token 时选择该授权 App 及实际所需 API scopes。
原生 Meta Token 与 ActionKey 服务凭证要分清

Meta System User Token 用于原生 Graph API;ActionKey MCP / REST 使用 ActionKey 开通的服务凭证。不要把原生 Token 直接填进 ActionKey MCP 或 REST 的认证配置,也不要把内部中转 Token 直接发给 graph.facebook.com。

03 / 路线 A:尤里改内部中转 Token

适合通过 ActionKey Graph 代理复用已有投放系统的调用方式。获取内部中转 access_token 后,需要同时修改凭证和请求域名。

配置 Graph 代理地址

配置项Meta 原生接口ActionKey Graph 中转接口
请求域名graph.facebook.comfacebook-graph.baiz.ai
访问凭证Meta Access TokenActionKey 提供的内部中转 access_token
资产 IDFacebook 原生 IDFacebook 原生 ID;广告账户路径按要求使用 act_ 前缀
API 版本与路径系统使用的版本和对象路径核对代理当前支持的版本、接口和字段
内部中转 Token · Graph 代理请求结构
GET https://facebook-graph.baiz.ai/{API版本}/act_{Facebook广告账户ID}/campaigns

参数:
  access_token = 尤里改内部中转Token
  fields       = id,name,status
  limit        = 25
  1. 向尤里改团队确认该凭证是内部中转 Token,以及允许访问的广告户和主页。
  2. 将 SDK 或 HTTP 客户端的 Graph 基础域名改为 facebook-graph.baiz.ai,再替换 access_token。
  3. 检查实际发出的请求域名,先运行只读验证请求,再适配业务操作。

不同 SDK 的基础地址配置方式不相同。接口路径、API 版本、批量请求和所需字段按实际实现逐项验证,改动量取决于 SDK 版本及你的业务代码。

04 / 路线 B:BM 内生成 System User Token

如果使用 BM 内、由尤里改授权的 App 生成的 Meta System User Token,请连接 graph.facebook.com。这个 Token 代表对应 System User 调用 Meta API,权限来自 App、Token 的 API scopes 和 System User 的资产权限。

在 BM 中逐项完成授权

  1. 确认 BM 与授权 App。先让尤里改团队确认可用的 App 及其授权状态。不要在生成 Token 时随意改选其他 App;如果 App 不可选或所需权限不可用,先处理开通配置。
  2. 选中对应 System User。在 BM / Meta Business Suite 的业务设置中,进入“用户 → 系统用户(System Users)”,选择需要代表你的程序调用 API 的系统用户。
  3. 分配广告账户。在“分配资产 / 添加资产”中选中目标广告户,授予实际需要的广告任务权限。只读查询与创建、修改广告需要的资产任务不同。
  4. 单独分配主页。继续选中广告使用的 Facebook 主页,授予对应主页任务权限。只给 System User 分配广告户,不会自动获得该主页的权限;多个主页需要分别确认。
  5. 使用授权 App 生成 Token。选择尤里改已授权的 App,按实际 API 操作选择所需 scopes,再生成并保存 System User Token。Token 期限与状态按生成界面及实际授权确认。
  6. 检查已分配资产。回到该 System User 的资产列表,核对广告户和主页的 ID、任务权限,并分别运行只读验证。
授权对象是 System User

业务设置中要把广告户与主页分别分配给对应的系统用户。Token 是这个系统用户访问 API 的凭证;只有一个 Token 字符串、只有 App 授权,或只授权广告户,都不足以代表完整的投放权限。

API scopes 与资产权限是两层检查

业务需求Token / App 侧检查System User 资产侧检查
广告数据查询按所用接口确认广告读取权限,例如 ads_read。已分配目标广告户,并具有相应读取任务权限。
创建广告、修改预算或状态确认所用接口需要的 ads_management 等权限,以及 App 对该权限的访问级别。已分配广告户,并具有对应管理广告任务权限。
读取主页或以主页身份创建广告逐项核对所用 Pages / Marketing API 的权限与 Token 类型要求;广告 scopes 不能代替主页要求。已单独分配该主页,并授予对应主页任务权限。
读写 BM 管理对象仅在业务需要时确认 business_management 等对应权限,不把 BM 管理权限作为所有广告调用的通用前提。具有所需业务对象的实际权限。

所需 scopes 以具体端点为准;生成界面中的选项、App 访问级别和资产任务都需要符合当前业务。不要为了排障默认授予所有管理权限,也不要把 ads_management 理解为自动授权所有主页。

官方参考:Meta 官方 Marketing API 接入与广告权限说明 ↗、Meta System Users 概览 ↗、Meta API 权限说明 ↗。业务设置中的菜单名称可能随界面更新变化,以当前 BM 中的实际选项为准。

05 / 使用 ActionKey MCP 或封装 REST API

如果开通的是 ActionKey MCP / REST 服务,使用 ActionKey 提供的服务凭证与服务地址。这里的认证配置独立于上面的 Meta 原生 System User Token 路线。

连接 AI 助手:按照Claude、Codex、Gemini、Grok 接入指南配置 MCP 或工具调用。

开发自己的系统:可以使用 ActionKey REST API。每个操作的方法、路径、参数与返回字段见完整接口说明 ↗。

ActionKey REST API 基础地址
https://baiz.ai/api/mcp

认证请求头为 Authorization: Bearer ActionKey 服务Token。先按公开说明及开通范围核对操作;不要把 Meta 原生 System User Token 当成这个服务 Token 使用。

06 / 按所选路线验证只读请求

先确认地址、凭证类型与目标对象是否匹配,再检查返回内容。下面的示例仅查询数据,不会创建广告或修改预算。

A. 验证内部中转 Token

在 macOS / Linux 的同一终端中设置 YURI_RELAY_TOKEN 为内部中转凭证、META_API_VERSION 为已确认支持的版本(包含 v 前缀)、META_AD_ACCOUNT_ID 为不带 act_ 的 Facebook 广告账户 ID。下面请求会自动加上 act_。

交互设置中转 Token 与查询参数(macOS / Linux)

复制运行整个代码块。输入尤里改内部中转凭证原值,API 版本包含 v 前缀,广告户 ID 不带 act_。凭证输入不会回显。

Graph 代理 · 环境准备
set_yuri_relay_context() {
  printf '请输入尤里改内部中转 Token:'
  IFS= read -r -s YURI_RELAY_TOKEN
  printf '\n请输入已确认的 API 版本(含 v 前缀):'
  IFS= read -r META_API_VERSION
  printf '请输入 Facebook 广告户 ID(不带 act_):'
  IFS= read -r META_AD_ACCOUNT_ID
  export YURI_RELAY_TOKEN META_API_VERSION META_AD_ACCOUNT_ID
}
set_yuri_relay_context

随后在同一终端运行下面的代理查询。此凭证不发送到 Facebook 官方域名。

macOS / Linux · Graph 代理查询广告账户
curl --fail-with-body --silent --show-error --get \
  "https://facebook-graph.baiz.ai/${META_API_VERSION}/act_${META_AD_ACCOUNT_ID}" \
  --data-urlencode "access_token=$YURI_RELAY_TOKEN" \
  --data-urlencode "fields=id,name,account_status"

检查 HTTP 状态、错误内容及返回的账户 ID。若请求仍发往 graph.facebook.com,先修正域名,再排查代理凭证与开通范围。

B. 验证 Meta System User Token

在 macOS / Linux 的同一终端中设置 META_SYSTEM_USER_TOKEN 为 Meta 原生系统用户凭证、META_API_VERSION 为该 App 使用的 API 版本、META_AD_ACCOUNT_ID 为不带 act_ 的广告户 ID、META_PAGE_ID 为 Facebook 主页 ID。使用下面的独立设置示例,避免与 ActionKey 服务凭证混用。

交互设置 System User Token 与两类资产 ID(macOS / Linux)

输入由授权 App 生成的 Meta 原生 System User Token 原值,不带 Bearer 前缀。广告户和主页需已分配给该系统用户;这是官方 Graph 路线,不写入 YURI_TOKEN。

Meta Graph · 环境准备
set_meta_system_user_context() {
  printf '请输入 Meta System User Token:'
  IFS= read -r -s META_SYSTEM_USER_TOKEN
  printf '\n请输入该 App 使用的 API 版本(含 v 前缀):'
  IFS= read -r META_API_VERSION
  printf '请输入 Facebook 广告户 ID(不带 act_):'
  IFS= read -r META_AD_ACCOUNT_ID
  printf '请输入 Facebook 主页 ID:'
  IFS= read -r META_PAGE_ID
  export META_SYSTEM_USER_TOKEN META_API_VERSION META_AD_ACCOUNT_ID META_PAGE_ID
}
set_meta_system_user_context

随后在同一终端分别查询下面的广告户和主页。不要将原生 Meta 凭证填入 ActionKey MCP / REST 认证配置。

macOS / Linux · Meta 原生接口查询广告户与主页
curl --fail-with-body --silent --show-error --get \
  "https://graph.facebook.com/${META_API_VERSION}/act_${META_AD_ACCOUNT_ID}" \
  -H "Authorization: Bearer $META_SYSTEM_USER_TOKEN" \
  --data-urlencode "fields=id,name,account_status"

curl --fail-with-body --silent --show-error --get \
  "https://graph.facebook.com/${META_API_VERSION}/${META_PAGE_ID}" \
  -H "Authorization: Bearer $META_SYSTEM_USER_TOKEN" \
  --data-urlencode "fields=id,name"
  1. 广告户查询核对返回的 id、name 和 account_status。
  2. 主页查询核对返回的 id、name 是否对应投放要使用的主页。
  3. 两次查询分别失败时,检查该对象的 System User 分配、API scopes、App 状态、Token 状态及 ID。保留脱敏后的 Meta 错误代码和消息用于排障。
对象可读,不等于可以创建或修改广告

查询成功只说明当前 Token 可以读取请求的字段。主页基础字段可读也不能替代 BM 中的主页任务授权检查。写入能力仍需核对实际端点、Token scopes、广告户及主页任务权限;创建广告还可能依赖其他资产和账户状态。

C. 验证 ActionKey REST 服务凭证

先按环境变量说明设置 YURI_TOKEN 为 ActionKey 开通的服务凭证,再在同一终端执行:

macOS / Linux · ActionKey REST 查询账户
curl --fail-with-body --silent --show-error \
  "https://baiz.ai/api/mcp/ad-accounts" \
  -H "Authorization: Bearer $YURI_TOKEN" \
  -H "Accept: application/json"
Windows PowerShell:查询已授权广告账户

按环境变量说明设置 $env:YURI_TOKEN 后,在同一 PowerShell 窗口运行:

PowerShell · ActionKey REST 查询账户
$yuriResult = Invoke-RestMethod -Method Get `
  -Uri 'https://baiz.ai/api/mcp/ad-accounts' `
  -Headers @{
    Authorization = "Bearer $env:YURI_TOKEN"
    Accept = 'application/json'
  }
$yuriResult

核对业务结果

ActionKey REST 响应要同时检查 HTTP 状态和 JSON 的 status。status: success 后,再核对 data 中的账户是否符合开通范围;status: error 时按 message 排查。Meta 原生 Graph 使用自己的数据与 error 结构,不套用 ActionKey REST 的业务字段。

REST 广告报表还可能返回 errors:即使返回部分数据,也要标出拉取失败的账户与缺失范围。任何路线完成预算或状态修改后,都应重新查询目标对象确认实际结果。

开发时要区分:ActionKey 内部 ID 与 Facebook ID

ActionKey REST / MCP 的资产记录与 Facebook 原生资产使用不同 ID。先通过列表或详情取得对应字段,按下表填入;不要把账户名称当作 ID。

对象ActionKey REST / MCPGraph 代理 / Meta 原生 Graph
广告账户/ad-accounts 返回的 id,用于创建计划的 ad_account_idsFacebook 广告账户 ID;REST 同一记录的 ad_account_id。账户路径按要求使用 act_ 前缀。
广告计划计划列表返回的内部 id,用于 /campaigns/{id} 及预算、广告组查询与状态操作Facebook Campaign ID;与 ActionKey 计划内部 ID 分别管理。
广告组先提供计划内部 id;暂停或恢复时,adset_id 使用该计划广告组查询返回的 Facebook 广告组 IDFacebook adset_id。
主页/pages 返回的 id,用于创建计划的 facebook_page_idFacebook 主页 ID;REST 同一记录的 page_id。
BM/businesses 返回的 id,用于 BM 详情路径与创建计划的 facebook_business_idFacebook BM ID;REST 同一记录的 bussiness_id(公开接口字段原名)。

例如,广告户返回内部 id = 42、Facebook ad_account_id = 1234567890 时,ActionKey 创建计划使用 ad_account_ids: [42];两类 Graph 路线均使用账户路径 act_1234567890。这是字段示例,不是真实账户。

预算字段的金额、币种与单位也按所选接口确认,ActionKey REST 参数与 Facebook Graph 参数分别处理。

上线前,验证实际使用的业务流程

只读请求跑通后,再核对写入所需权限,在明确目标对象与操作范围的情况下验证单次修改和结果回读。SDK 批量请求、Webhook 等扩展能力在开通时逐项确认。

07 / 基于权限开发自己的投放系统

选定凭证路线后,将对应 API 封装成业务模块,也可以让 Claude、Codex、Gemini 或 Grok 协助开发。

系统模块可以完成的工作
账户与资产读取已授权账户、主页与可用素材,建立管理列表和 ID 映射。
数据与报表汇总广告数据,展示花费、点击、转化与成本。
操作与执行按已具备的对象权限创建广告、调整预算、暂停或恢复投放。
任务与记录定时查询,记录触发条件、目标对象、执行结果与失败信息。

把 AI 接进业务流程

系统负责凭证、资产权限、任务规则和执行记录,AI 负责理解需求、分析数据与调用已开放工具。ActionKey 服务可以按AI 助手指南接入 MCP;Meta 原生 System User Token 路线则由你的服务端或 Agent 工具执行 Graph 请求,不直接替换 ActionKey MCP 的认证凭证。

定时盯盘需要持续运行的服务或 Agent。任务周期、执行条件、预算上限、重复执行防护与失败处理见Agent 工作流。

常见问题

怎么收费?

ActionKey 固定服务费为 人民币 ¥5,000 / 月,不限制请求数。Meta 广告消耗、AI 模型服务和运行环境费用另行承担。账户与操作范围按实际开通确认,Facebook 接口限流、审核及账户权限仍然适用。

原有 SDK 代码可以完全不改吗?

内部中转路线先修改凭证和域名;System User Token 原生路线使用 graph.facebook.com。不同 SDK 的基础地址配置、API 版本与接口支持各不相同,需以实际调用验证。

只生成 System User Token,为什么仍然无法创建广告?

核对生成 Token 时是否选择尤里改授权的 App、所需 API scopes 是否可用且已选择,以及对应 System User 是否分别拥有目标广告户和主页的任务权限。只读查询成功也不能证明写入权限完整。

Meta System User Token 可以直接填入 ActionKey MCP 吗?

不能默认互换。ActionKey MCP / REST 使用其开通的服务凭证;原生 System User Token 用于 Meta Graph API,或由你自己的后端工具封装后交给 Agent 调用。

Token 可以放到网页前端吗?

将凭证保存在服务端或受控 Agent 环境的凭证存储中,由后端代为调用。前端通过自己的业务接口请求数据与操作。

认证或权限错误怎么排查?

先核对凭证类型与域名,再检查 Token 状态、App、API scopes、ID 类型和资产任务权限。提供脱敏后的错误信息、请求方法与时间,联系微信 76762。

代理能绕过平台限制吗?

操作仍受 Facebook 接口规则、审核与风控约束,代理不会消除既有资产关联。服务提供已授权的操作能力,减少客户侧个户环境准备和维护环节。