2017-10-19 193 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。這應該工作。我學會了艱難的方式,好像你需要追加由句點分隔的對象級別來過濾選項。