Facebook营销API PHP SDK - “过滤字段delivery_info无效”
问题描述:
我正在尝试使用Facebook PHP Ads SDK为一家公司生成Facebook广告报告。我正在关注基本上为您生成代码的Marketing API QuickStart。我有权访问公司的广告帐户ID。 (我没有显示令牌和ID变量,除非绝对必要,如果是这样,告诉我)。Facebook营销API PHP SDK - “过滤字段delivery_info无效”
require __DIR__ . '/vendor/autoload.php';
use FacebookAds\Object\AdAccount;
use FacebookAds\Object\AdsInsights;
use FacebookAds\Api;
use FacebookAds\Logger\CurlLogger;
$access_token;
$ad_account_id;
$app_secret;
$app_id;
$api = Api::init($app_id, $app_secret, $access_token);
$api->setLogger(new CurlLogger());
$fields = array(
'frequency',
'actions:link_click',
'call_to_action_clicks',
'actions:tab_view',
);
$params = array(
'level' => 'adset',
'filtering' => array(array('field' => 'delivery_info','operator' => 'IN','value' => array('inactive','active','limited','archived','permanently_deleted','completed','recently_completed','not_delivering','not_published','rejected','recently_rejected','rejected','pending_review','scheduled'))),
'breakdowns' => array('place_page_id'),
'time_range' => array('since' => '2017-09-20','until' => '2017-10-20'),
);
echo json_encode((new AdAccount($ad_account_id))->getInsights(
$fields,
$params
)->getResponse()->getContent(), JSON_PRETTY_PRINT);
但是,在运行的代码时,我得到错误信息:
Fatal error: Uncaught exception 'FacebookAds\Http\Exception\AuthorizationException' with message '(#100) Filtering field delivery_info is invalid.
我尝试在$领域和$ PARAMS与文档中找到参数切换左右,但它切换像我一样指责其他人,甚至声称其中一些甚至不存在替代品。 我已经在文档中检查了几次,它应该可以工作。
问题在别处吗?它是否是错误的广告帐户ID?
任何帮助将非常感激。
答
尝试adset.delivery_info而不仅仅是delivery_info。这应该工作。我学会了艰难的方式,好像你需要追加由句点分隔的对象级别来过滤选项。