如何使用 Facebook 营销 api 在单个查询中获取所有广告的见解

Posted

技术标签:

【中文标题】如何使用 Facebook 营销 api 在单个查询中获取所有广告的见解【英文标题】:How to get insights for all Ad in single query with Facebook marketing api 【发布时间】:2021-02-03 17:48:23 【问题描述】:

我想用 Python 编写查询,我想在单个请求或多个请求中获得所有广告效果详细信息。 我曾尝试使用以下查询,但多次发送以向 Facebook 发送请求是错误的想法,而且 Facebook 会阻止用户 30 分钟。

    my_app_id = 'my_app_id'
    my_app_secret = 'my_app_secret'
    my_access_token = 'my_token'
    FacebookAdsApi.init(my_app_id, my_app_secret, my_access_token)
    my_account = AdAccount('act_')
    ad_campaign_list = my_account.get_campaigns(fields=[Campaign.Field.name,Campaign.Field.id])
        for campaign in ad_campaign_list:
        campaign_index=Campaign(campaign["id"])
        ad_setlist = campaign_index.get_ad_sets(fields=[AdSet.Field.name,AdSet.Field.id])
        for ad_set in ad_setlist:
            print(ad_set)
            ad_set_index = AdSet(ad_setlist["id"])
            ad_list = ad_set_index.get_ads(fields=[Ad.Field.name,Ad.Field.id])
            for ad in ad_list:
                print(ad)   

我有一个类似的错误

  Message: Call was not successful
  Method:  GET
  Path:    https://graph.facebook.com/v9.0/act_/ad
  Params:  'fields': 'name,id', 'summary': 'true'

  Status:  400
  Response:
    
      "error": 
        "message": "(#17) User request limit reached",
        "type": "OAuthException",
        "is_transient": true,
        "code": 17,
        "error_subcode": 2446079,
        "fbtrace_id": "Al42-tg1iVmvfE79RVrGDJW"
      
    

我想用来

    my_app_id = 'my_app_id'
    my_app_secret = 'my_app_secret'
    my_access_token = 'my_token'
    FacebookAdsApi.init(my_app_id, my_app_secret, my_access_token)
    my_account = AdAccount('act_')
    ad = my_account.get_ads(fields=[Ad.Field.name,Ad.Field.id])
    print(ad)

但我没有所有的广告

【问题讨论】:

【参考方案1】:

您可以使用 Graph API 处理的请求数量有限。要了解有关限制的更多信息,check this link,但总的来说,您可以拨打以下电话:

一小时内的通话 = 200 * 用户数

为避免此问题,我建议您不要像现在这样传递字段,而是像这样传递它们:

report = facebook_acc.get_campaigns(fields=['name,adsetsid,adsid,name'])

这样您就可以在单个查询中获取所有广告信息。

【讨论】:

谢谢,我更改了查询,现在我使用 Insights API 获取所有广告信息

以上是关于如何使用 Facebook 营销 api 在单个查询中获取所有广告的见解的主要内容,如果未能解决你的问题,请参考以下文章

营销 API Facebook SDK

Facebook Marketing API:Facebook 营销活动的潜在覆盖面

如何通过API获取Facebook跟踪网址参数

Facebook 营销 API、获取见解字段和活动对象字段

API Facebook 营销错误:不支持的获取请求。 ID 为 XXXXXX 的对象不存在,由于缺少权限而无法加载

在单个 Graph API 请求中获取 Facebook 发布所有反应计数