2017-10-19 13 views
0

Facebook PHP 광고 SDK를 사용하여 회사의 Facebook 광고 보고서를 생성하는 PHP 응용 프로그램을 만들려고합니다. 필자는 본질적으로 코드를 생성하는 Marketing API QuickStart를 따르고 있습니다. 회사의 광고 계정 ID에 액세스하는 데 필요한 모든 액세스 권한이 있습니다. (꼭 필요한 경우가 아니면 토큰 및 ID 변수가 표시되지 않습니다. 그렇다면 말해주십시오). 코드를 실행할 때Facebook Marketing 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); 

그러나, 나는 오류 메시지가 얻을 : 나는 $ 필드$의 PARAMS 설명서에있는 매개 변수 주위 전환 해보십시오

Fatal error: Uncaught exception 'FacebookAds\Http\Exception\AuthorizationException' with message '(#100) Filtering field delivery_info is invalid.

을하지만 전환 다른 사람들에 대한 책임은 내가하는 것처럼, 심지어 그들 중 일부는 대안으로 존재하지 않는다고 주장합니다. 설명서에서 여러 번 확인했는데 작동 할 것입니다.

문제는 다른 곳에서 발생합니까, 잘못된 종류의 광고 계정 ID입니까?

도움이 될 것입니다.

답변

1

delivery_info 대신 adset.delivery_info를 사용해보십시오. 그게 효과가있다. 어려운 방법을 배웠습니다. 필터링 옵션에 마침표로 구분 된 개체 수준을 추가해야하는 것처럼 보입니다.