0

我正在使用 python Facebook API 的 SDK。我目前能够从帐户级别请求和获取广告系列洞察力,其中包含如下代码段:

from facebook_business.adobjects.adaccount import AdAccount
from facebook_business.adobjects.adsinsights import AdsInsights as Insights
account = AdAccount(u"act_{}".format(account_id))
report_params = {
    'time_increment': time_increment,
    'time_range': {
        'since': start_date.strftime("%Y-%m-%d"),
        'until': end_date.strftime("%Y-%m-%d"),
    },
    'level': 'campaign'
}
insights = account.get_insights(fields=['campaign_name', 'spend'],
                                params=report_params, pending=True).execute()

问题是我似乎无法获得有关已删除广告系列的信息,该广告系列活动了一段时间,这意味着它具有支出价值。

在这里,我读到添加过滤可能还会给我 DELETED 或 ARCHIVED 广告系列,但在get_insights 文档页面中,我似乎找不到要过滤的字段,并且每次尝试都失败了

4

1 回答 1

0

我找到了正确的过滤器,即使effective_status无法通过洞察字段获得,您也可以在过滤器中使用它,在我的情况下,我包括了所有可能的campaign.effective_status. 使用以下report_params

report_params = {
    'time_increment': time_increment,
    'time_range': {
        'since': start_date.strftime("%Y-%m-%d"),
        'until': end_date.strftime("%Y-%m-%d"),
    },
    'level': 'campaign',
    'filtering': [{'field': 'campaign.effective_status',
                   'operator': 'IN',
                   'value': ['ACTIVE', 'PAUSED', 'DELETED', 'PENDING_REVIEW', 'DISAPPROVED', 
                             'PREAPPROVED', 'PENDING_BILLING_INFO', 'CAMPAIGN_PAUSED', 'ARCHIVED',
                             'ADSET_PAUSED']}]
}
于 2019-12-18T15:10:52.760 回答