Я пытаюсь получить базовые данные об уровне рекламы из API понимания Facebook, используя facebook-python-business-sdk с python 3.7.
Проблема в том, что я получаю только 25 результатов, даже если в аккаунтах более 25 активных объявлений.
Я использую метод get_insights для каждой учетной записи, передавая параметр 'level': 'ad' и фильтруя на определенную дату.
Я также проверил, достиг ли я предела Facebook (используя объяснение, приведенное здесь ), и я даже не приблизился к пределу.
Метод get_insights не имеет параметра limit, и в любом случае я не хочу его вообще ограничивать, поскольку в некоторых аккаунтах может быть сотни или даже тысячи объявлений.
Это код, который я использую
from facebook_business.api import FacebookAdsApi
from facebook_business.adobjects.adaccount import AdAccount
from facebook_business.adobjects.adaccountuser import AdAccountUser
from facebook_business.adobjects.campaign import Campaign as AdCampaign
from facebook_business.adobjects.adsinsights import AdsInsights
access_token = '******'
app_secret = '******'
app_id = '******'
FacebookAdsApi.init(app_id, app_secret, access_token)
me = AdAccountUser(fbid='me')
my_accounts = list(me.get_ad_accounts())
params={'time_range': {'since': '2019-06-29', 'until': '2019-06-29'},'level': 'ad'}
fields = [AdsInsights.Field.account_id,
AdsInsights.Field.account_name,
AdsInsights.Field.ad_id,
AdsInsights.Field.ad_name,
AdsInsights.Field.adset_id,
AdsInsights.Field.adset_name,
AdsInsights.Field.campaign_id,
AdsInsights.Field.campaign_name,
AdsInsights.Field.spend,
AdsInsights.Field.impressions,
AdsInsights.Field.clicks,
AdsInsights.Field.outbound_clicks,
]
for account in my_accounts:
ads = account.get_insights(params=params, fields=fields)
print(ads)
print(len(ads))
Я ожидал получить все объявления в каждой учетной записи, но я получаю максимум 25 объявлений на одну учетную запись.
Любая помощь будет принята с благодарностью!
Спасибо