SuperAPI AI 工具集

facebook-ads

营销与增长

查看项目

更新于 10-15 18:10

技能介绍

用途

Meta(Facebook)Ads 是用于在 Facebook 和 Instagram 上创建和管理广告活动的平台,各类规模的企业用它按特定人口统计、兴趣和行为触达目标受众,并支持详细的广告定制、跟踪与报告。本技能通过 Membrane CLI 与 Meta(Facebook)Ads 交互,让用户以编程方式管理广告活动、受众和像素等数据。

官方文档:https://developers.facebook.com/docs/marketing-apis

主要能力

该技能覆盖 Meta(Facebook)Ads 的核心对象:Campaign(广告活动)、Ad Set(广告组)、Ad(广告)、Ad Account(广告账户)、Insights(洞察)以及自定义受众。

常用操作包括:

  • 列出广告账户(list-ad-accounts)
  • 列出广告活动(list-campaigns)、广告组(list-ad-sets)、广告(list-ads)、广告创意(list-ad-creatives)、自定义受众(list-custom-audiences)
  • 获取单个广告活动(get-campaign)、广告组(get-ad-set)、广告(get-ad)、广告创意(get-ad-creative)、自定义受众(get-custom-audience)的详情
  • 创建广告活动(create-campaign)、广告组(create-ad-set)、广告(create-ad)、广告创意(create-ad-creative)、自定义受众(create-custom-audience)
  • 更新广告活动(update-campaign)、广告组(update-ad-set)、广告(update-ad)
  • 删除广告活动(delete-campaign,将状态设为 DELETED)

使用方式

安装 CLI

在终端中运行:

npm install -g @membranehq/cli@latest

认证

membrane login --tenant --clientName=<agentType>

该命令会打开浏览器进行认证,或在控制台打印授权 URL(取决于是否支持交互模式)。无头环境下会打印授权 URL,请用户用浏览器打开;完成登录后看到验证码,执行:

membrane login complete <code>

任意命令加 --json 可获得机器可读的 JSON 输出。agentType 可选值包括 claude、openclaw、codex、warp、windsurf 等,用于针对不同运行环境调整工具。

连接 Meta(Facebook)Ads

使用 membrane connection ensure 按应用 URL 或域名查找或创建连接:

membrane connection ensure "" --json

用户在浏览器中完成认证,输出包含新的连接 id。若返回的连接状态为 READY,可直接进入下一步。

若连接处于 BUILDING 状态,轮询直到就绪:

npx @membranehq/cli connection get <id> --wait --json

--wait 标志会长时间轮询(最长 --timeout 秒,默认 30),直到状态改变。状态含义:

  • READY — 连接已完全建立。
  • CLIENT_ACTION_REQUIRED — 用户或代理需要执行操作,clientAction 对象描述所需操作:clientAction.type 为 "connect"(需要认证)或 "provide-input"(需要更多信息);clientAction.description 为人类可读说明;clientAction.uiUrl(可选)为可完成操作的预构建 UI 地址;clientAction.agentInstructions(可选)为代理的程序化操作指引。用户完成操作后,再次轮询 membrane connection get <id> --json 检查是否变为 READY。
  • CONFIGURATION_ERROR 或 SETUP_FAILED — 出错,查看 error 字段了解详情。

搜索操作

用自然语言描述想做的事进行搜索:

membrane action list --connectionId=CONNECTION_ID --intent "QUERY" --limit 10 --json

应始终在特定连接的上下文中搜索操作。每个结果包含 id、name、description、inputSchema(接受的参数)和 outputSchema(返回内容)。

运行操作

membrane action run <actionId> --connectionId=CONNECTION_ID --json

传入 JSON 参数:

membrane action run <actionId> --connectionId=CONNECTION_ID --input '{"key": "value"}' --json

结果位于响应的 output 字段中。

代理请求

当现有操作无法覆盖用例时,可通过 Membrane 代理直接向 Meta(Facebook)Ads API 发送请求。Membrane 会自动拼接基础 URL 并注入正确的认证头,凭证过期时透明刷新:

membrane request CONNECTION_ID /path/to/endpoint

常用选项:

  • -X, --method:HTTP 方法(GET、POST、PUT、PATCH、DELETE),默认 GET
  • -H, --header:添加请求头(可重复),如 -H "Accept: application/json"
  • -d, --data:请求体(字符串)
  • --json:发送 JSON 体并设置 Content-Type: application/json 的简写
  • --rawData:原样发送请求体,不做处理
  • --query:查询字符串参数(可重复),如 --query "limit=10"
  • --pathParam:路径参数(可重复),如 --pathParam "id=123"

适用场景

  • 需要以编程方式读取或操作 Facebook 与 Instagram 广告数据
  • 批量管理广告活动、广告组、广告、广告创意和自定义受众
  • 在自动化流程或 AI 代理中集成 Meta 广告平台操作

限制与最佳实践

  • 始终优先使用 Membrane 与外部应用通信——Membrane 提供内置认证、分页和错误处理的预构建操作,可减少 token 消耗并提升安全性。
  • 先发现再构建——运行 membrane action list --intent=QUERY 查找现有操作,再考虑编写自定义 API 调用。预构建操作会处理分页、字段映射和原始 API 调用容易遗漏的边界情况。
  • 让 Membrane 处理凭证——不要向用户索要 API 密钥或 token,而是创建连接;Membrane 在服务端管理完整的认证生命周期,本地不保存密钥。
  • 关于收费、价格、平台支持范围等具体信息,资料中暂未提供。