2016-06-26 2 views
1

Я хочу показ объявлений Facebook, которые активны за последние 7 дней. Следующий код показывает мне определенную кампанию, но мне нужны все кампании.Facebook Объявления за последние 7 дней

today = datetime.date.today() 
start_time = str(today - datetime.timedelta(days=7)) 
end_time = str(today) 

campaign = Campaign(campaign_id) 
params = { 
    'time_range': { 
     'since': start_time, 
     'until': end_time, 
    }, 
    'fields': [ 
     AdsInsights.Field.campaign_id, 
     AdsInsights.Field.campaign_name, 
     AdsInsights.Field.impressions, 
     AdsInsights.Field.unique_clicks, 
     AdsInsights.Field.reach  
    ], 
} 
insights = campaign.get_insights(params=params)   

print(insights) 

Как показать все кампании Facebook, которые были активны за последние 7 дней?

ответ

0

На уровне учетной записи существует метод, называемый get_campaigns. Что вам нужно сделать, так это получить кампании и получить информацию для каждого из них.

campaigns = account.get_campaigns() 
insights = {camp['id']:camp.get_insights(params=params)[0] for camp in campaigns} 

Затем вы можете отсортировать те из тех, не содержат никакой информации

insights = {key:insights for key, insight in insights if insight}