2017-10-19 206 views
0

我正在尝试使用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?

任何帮助将非常感激。

回答

1

尝试adset.delivery_info而不仅仅是delivery_info。这应该工作。我学会了艰难的方式,好像你需要追加由句点分隔的对象级别来过滤选项。