Я не могу получить статистику по всем своим кампаниям в Facebook, используя Python и Facebook Marketing API - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь получить следующие показатели: date, campaign_name, impressions, clicks & spend всех кампаний в моей учетной записи Facebook, но, по-видимому, сценарий, который я написал, возвращает только статистику по некоторым кампаниям, а не все. Он возвращает только название кампании и его идентификатор для большинства кампаний.

Я сомневаюсь, что он возвращает статистику только для активных кампаний, а не неактивных. Кто-нибудь знает, как я могу упомянуть, что я всегда хочу получать неактивные / приостановленные кампании?

Вот скрипт, который я использую:

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'}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...