Facebook広告で実行されているすべてのアクティブキャンペーンの洞察を得たいと思います。アカウントでFacebookAdsApiですべてのキャンペーンを取得できますが、フィルタを使用できないため、「アクティブ」のステータスのキャンペーンのみが取得されます。ここでFacebookの広告からアクティブなキャンペーンをすべて入手するapi - フィルタを設定する方法
は、これまでの私のコードです:
from facebookads.api import FacebookAdsApi
from facebookads.objects import AdAccount, Ad, Insights, AdUser
import datetime
my_app_id = 'xxx'
my_app_secret = 'xxx'
my_access_token = 'xxx'
FacebookAdsApi.init(my_app_id, my_app_secret, my_access_token)
me = AdUser(fbid='me')
my_accounts = list(me.get_ad_accounts())
my_account = my_accounts[0]
fields = [
Insights.Field.campaign_name,
Insights.Field.spend
]
params = {
'time_range': {'since': str(datetime.date(2015, 1, 1)), 'until': str(datetime.date.today())},
'level': 'campaign',
'limit': 1000
}
insights = my_account.get_insights(fields=fields, params=params)
print len(insights)
>>> 115
私はparams
に次の行を追加しようとしました:
filtering': [{'field': 'campaign.effective_status','operator':'IN','value':['ACTIVE']}]
:
"error_user_msg": "The reporting data you are trying to fetch has too many rows. Please use asynchronous query or restrict amount of ad IDs or time ranges to fetch the data."
アカウント(115)からすべてのキャンペーンを問題なく入手できます。現時点で有効なキャンペーンは10個だけですだから私のフィルタは間違っていると思いますか?
あなたは正しく、last_30_daysで完璧に動作しました! フィールドとしてキャンペーンのステータスを取得できるかどうか考えていますか? (like:Insights.Field.status)私は、削除されたアクティブなフィルタリングすることができます...しかし、私はフィールドとしてステータスを取得する方法を見つけることができません – RandomDude
いいえ、私の知覚エッジは統計情報数値)値 – David
@RandomDudeあなたはどのようにキャンペーンをステータス別にフィルタリングしたか教えていただけますか? (ACTIVE、PAUSEDなど) –