我正在尝试按广告状态过滤广告设置数据,但是当我添加状态过滤器时,我会收到一个空数据集:
curl "https://graph.facebook.com/v2.7/act_<redacted>/insights?fields=clicks,impressions,cpc,ctr,account_id&time_range%5Bsince%5D=2016-01-12&time_range%5Buntil%5D=2016-09-12&access_token=<redacted>&format=json&filtering=%5B%7B%22field%22:%22status%22,%22operator%22:%22EQUAL%22,%22value%22:%22ACTIVE%22%7D%5D&level=adset"
这是过滤参数在进行url编码之前的样子:
[{"field":"status","operator":"EQUAL","value":"ACTIVE"}]
我已尝试状态ACTIVE, PAUSED, DELETED, ARCHIVED
的所有有效值无效。
当我删除过滤参数时 - 我看到了我的数据。
问题是: 有谁知道是否可以按状态过滤,如果是,我做错了什么?
答案 0 :(得分:4)
有可能。使用截至2018年3月的最新版本。
您需要实际请求所有处于活动状态的广告,然后将insights
作为“嵌套”广告提供。字段列表。
将123456替换为您的广告帐户(但请保留所需的'act_'
)
act_123456 /广告栏= effective_status,姓名,见解{total_action_value,total_actions,操作},adset_id,CAMPAIGN_ID&安培;过滤= [{&#39;字段&#39;:&#39; effective_status&#39;&# 39;操作&#39;:&#39; IN&#39;&#39;值&#39;:[&#39; ACTIVE&#39;]}]
这也适用于/campaigns
和/adsets
你也可以这样做(一定要包括&level=ad
):
act_123456 /见解字段= ad_id,adset_id,CAMPAIGN_NAME,action_values,CAMPAIGN_ID,total_action_value&安培;电平=广告&安培;过滤= [{&#34;字段&#34;:&#34; campaign.delivery_info&#34;,& #34;操作&#34;:&#34; IN&#34;&#34;值&#34;:[&#34;有源&#34;]}]
答案 1 :(得分:0)
我正在使用它来过滤带有见解的广告系列,为我工作,开始玩它
'filtering'=>
array(
array(
"field"=>"campaign.effective_status",
"operator"=>"IN",
"value"=>$campaigncheckstatus,
),
),
$campaigncheckstatus = array("ACTIVE","PAUSED");
如果通过url
传递,请不要忘记json_encode $ campaigncheckstatus答案 2 :(得分:0)
根据见解进行过滤是不可能的。至少在v2.7中。为了获得有关广告的见解,我决定执行以下操作:
1.通过/ads
电话获取我需要的广告。这允许我按状态过滤。
2.获取同一广告集合的数据分析,并确保我的广告ID包含在回复中。
3.使用第一个集合过滤第二个集合。