如何使用 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 在单个查询中获取所有广告的见解的主要内容,如果未能解决你的问题,请参考以下文章
Facebook Marketing API:Facebook 营销活动的潜在覆盖面