我想用Python编写查询,我想所有活动的性能细节都在一个请求中。
如何在Python查询中转换下图api请求?
/<version>/act_<ACT_ID>/campaigns?fields=insights.fields(actions_results)
我试过使用下面的查询,但是多次发送请求到Facebook是错误的,Facebook也会阻塞用户30分钟。
fields = [Insights.Field.cpm,
Insights.Field.cpp]
class Fb_insights(object):
def __init__(self, app_id, app_secret, access_token):
FacebookAdsApi.init(app_id, app_secret, access_token)
# Add after FacebookAdsApi.init
me = AdUser(fbid='me')
self.my_account = me.get_ad_accounts()[0]
def campaign_reports(self, since, until):
params = {
'level': Insights.Level.campaign,
'time_range': {
'since': since,
'until': until,
},
}
for campaign in self.my_account.get_campaigns():
for stat in campaign.get_insights(fields=fields,
params=params):
print(stat)
糟糕的是,我每次都会通过调用“get_insights()”来发送请求。
更新
我还尝试直接获取洞察,下面的代码只返回1个活动详细信息,而我有1个活动和87个未交付活动,还更新参数中的level=campaign
for insight in self.my_account.get_insights(fields=fields, params=params):
print insight
查询:使用更新的代码,如何使用单个查询获取所有已交付和未交付的活动?
请看https://developers.facebook.com/docs/graph-api/using-graph-api部分“生成嵌套请求”。
通过调用以下api,您可以使用字段扩展在单个帐户查询中获得所有活动的详细信息:
字段扩展允许您将字段请求设置为节点。在上面的示例中,我获得了按活动分组的帐户中所有活动的细节,然后使用'insights{reach,impressions,clicks}'可以为节点级别选择字段。
EDIT:Removed level=campaign from URL,因为由于端点/活动
为了在一个请求中获得所有广告链接,我用下面的代码解决了我的问题。
我也做过类似的事情。我将级别设置为ad-请参见此处的示例代码:http://www.samk3nny.com/getting-ad-insights-from-facebook-and-avoiding-error-17/
然后每一个广告都有创意:
相关问题 更多 >
编程相关推荐