我想獲取我在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完美合作! 你知道我是否可以將廣告系列的狀態視爲字段嗎? (如:Insights.Field.status)我能夠篩選活動,刪除...但我不知道如何獲得作爲一個字段的狀態 – RandomDude
不,據我所知,見解邊緣只包含統計(數字)值 – David
@RandomDude請問您如何按狀態過濾廣告系列? (ACTIVE,PAUSED等) –