【问题标题】:How do I get the campaigns list through the ads API on Facebook?如何通过 Facebook 上的广告 API 获取广告系列列表?
【发布时间】:2017-02-20 05:18:45
【问题描述】:

我正在尝试从 Graph API Explorer 获取广告系列列表。我正在使用在https://developers.facebook.com/docs/marketing-api/reference/ad-account/campaigns/ 找到的请求。

GET /v2.8/{ad-account-id}/campaigns HTTP/1.1
Host: graph.facebook.com

我是用于广告的页面的业务经理和管理员。我在 Graph API Explorer 上使用以下请求找到了 AD_ACCOUNT_IDs

GET /v2.8/me/businesses HTTP/1.1
Host: graph.facebook.com

我选择了具有更高权限的那个。

提交第一个广告系列请求时报告的错误是:

{
    "error": {
        "message": "Unsupported get request. Object with ID '1015359838XXXXXX' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",
        "type": "GraphMethodException",
        "code": 100,
        "fbtrace_id": "DLyfwGbM8fi"
    }
}

怎么了?

提前致谢,

马蒂亚

【问题讨论】:

  • 那么你的访问令牌包括哪些权限?

标签: facebook facebook-graph-api


【解决方案1】:

@Ryan 的回答拯救了我的一天。这听起来可能很愚蠢/愚蠢,但我犯了这个错误,我只是坚持下去。

浏览 FB 文档以使用 Marketing Apis

我正在尝试构建自定义受众,这就是 curl 请求的样子 -

使用营销 API 时要记住的基本事项之一是,几乎所有 API 都要求这两项 -
1) 访问令牌
2) AD_ACCOUNT_ID

对于刚开始使用 FB Marketing API 或不知何故一直在寻找这些值的人,我只会告诉你如何获得这些值,这样你就不必像我一样浪费时间了。

因此,要获取 ACCESS_TOKEN,请转到您的应用仪表板,然后单击 Add Product,然后选择 Marketing API。添加产品后,屏幕应该是这样的 -

现在只需检查权限并单击Get Token 按钮,就会生成一个令牌。只需将令牌复制到某个文件中并保存即可。

现在要获取 AD_ACCOUNT_ID 值,只需转到 Adverts Manager 页面 -

Adverts Manager 页面中红框内写的数字是您的AD_ACCOUNT_ID

最后一步是再次返回您的应用仪表板,Settings > Advanced

点击Ads API,然后在此处输入AD_ACCOUNT_ID。就是这样,你已经完成了Access and Authentication通过你的应用程序使用营销API的过程。

现在是我犯了愚蠢错误的部分。 curls 请求如下所示 -

curl \
  -F 'name=My new CA' \
  -F 'subtype=CUSTOM' \
  -F 'description=People who bought from my website' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.8/act_<AD_ACCOUNT_ID>/customaudiences

首先我用它的值替换了ACCESS_TOKEN。 然后,我没有仅替换 &lt;AD_ACCOUNT_ID&gt;,而是将整个字符串 act_&lt;AD_ACCOUNT_ID&gt; 替换为 AD_ACCOUNT_ID 值。

所以我在向 API 发出请求时遇到了这个错误 -

{"error":{"message":"Unsupported post request. Object with ID '120574219' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https:\/\/developers.facebook.com\/docs\/graph-api","type":"GraphMethodException","code":100,"fbtrace_id":"YsSvKKwgLMQ"}}

我不知道我为什么会犯这个错误,但我确信这也是其他人经常犯的错误之一。由于 FB 的回复具有误导性,因此我浪费了大量时间来理解和阅读 API 权限和身份验证。

希望这篇文章对您有所帮助并节省您的时间。

【讨论】:

    【解决方案2】:

    我在尝试检索广告帐户中所有广告系列 ID 的列表时同样遇到了问题。

    我已经能够按 ID 检索活动数据,所以我显然已经拥有权限。

    但 Facebook 错误消息具有误导性。

    在检索广告帐户时(以便随后显示其广告系列或您想要在其中显示的任何内容),您需要通过其前面带有“act_”的 ID 进行检索。

    例如,您可以请求 /act_123456789000001234/campaigns 而不是 /123456789000001234/campaigns

    非常感谢@Jan Sommer https://stackoverflow.com/a/39974857/470749

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-21
      • 2016-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多