我正在尝试检索以下指标:date, campaign_name, impressions, clicks & spend
,在我的Facebook帐户中的所有广告系列中,但是显然我编写的脚本仅返回某些广告系列的统计信息,而不是全部统计信息。对于大多数广告系列,它仅返回campaign_name及其ID。
我对此表示怀疑,它只会返回有效广告系列的统计信息,而不返回无效广告系列的统计信息。有谁知道我总是想获取无效/已暂停的广告系列?
这是我正在使用的脚本:
import requests
import json
token = 'MY TOKEN'
act_id = 'MY ACCOUNT ID'
first_request = 'https://graph.facebook.com/v3.2/act_id/campaigns?fields=created_time,name,insights{spend,impressions,clicks}&access_token=%s'%token
然后我运行以下命令:
campaigns=[]
current_request = first_request
while True:
result = requests.get(current_request)
content_dict = json.loads(result.content)
for x in content_dict['data']:
campaigns.append(x)
if 'next' in content_dict['paging']:
m = content_dict['paging']['next'].find('&after')
current_request = first_+content_dict['paging']['next'][m:]
print('next request: ', current_request)
else:
break
输出示例(第一个具有所需统计信息的广告系列,第二个没有所需的统计信息):
[{'created_time': '2019-03-29T12:00:29+0100',
'id': '6133534332561',
'insights': {'data': [{'clicks': '199',
'date_start': '2019-03-03',
'date_stop': '2019-04-01',
'impressions': '35749',
'spend': '71.44'}],
'paging': {'cursors': {'after': 'MAZDZD', 'before': 'MAZDZD'}}},
'name': '20190422-FB-BOOST-DSDS-CC JHISO- 2 - SDSDDE'},
{'created_time': '2019-01-31T16:06:01+0100',
'id': '434465343233',
'name': '20190204-FB-BOOST-SQ-CC FDSSZ- 3EEZK'}]