2016-05-31 11 views
0

Ich brauche einige automatisierte Anzeigeneinblicke mit der Marketing API. Zu diesem Zweck habe ich über den Business-Manager einen Systembenutzer erstellt und ein Systembenutzer-Zugriffstoken mit der Berechtigung ads_read generiert.Marketing Api Permission Ausnahme

dieses Token verwenden dann api Anrufe und erhalten eine bestimmte Kampagne Insights, mit dem FacebookAds php v2.6 sdk, bekomme ich den folgenden Fehler zu machen:

Uncaught exception 'FacebookAds\Http\Exception\PermissionException' 
with message '(#275) Cannot determine the target object for this 
request. Currently supported objects include ad account, business 
account and associated objects.' 

Hat meine app werden müssen, die weiße Liste gesetzt oder bin Ich vermisse etwas anderes? Mir ist aufgefallen, dass neben der 'ads_read'-Erlaubnis der Hinweis "(Ihre App muss auf die weiße Liste gesetzt werden)" steht. Hier

ist der Beispielcode Ich verwende

<?php 

define('VENDOR_DIR', 'vendor/'); // Path to the Vendor directory 
$loader = require VENDOR_DIR.'autoload.php'; 

use FacebookAds\Api; 
use FacebookAds\Object\Campaign; 
// Initialize a new Session and instantiate an Api object 
Api::init(
    'xxxxxxxxxxxxxxxx', // App ID 
    'xxxxxxxxxxxxxxxxx', 
    'xxxxxxxxxxxxxxxxxx' // System User Access Token 
); 

$api = Api::instance(); 

use FacebookAds\Object\Values\InsightsLevels; 

$campaign = new Campaign('xxxxxxxxxxxxx'); 

$params = array(
    'level' => InsightsLevels::CAMPAIGN, 
); 

$async_job = $campaign->getInsightsAsync(array(), $params); 

$async_job->read(); 

while (!$async_job->isComplete()) { 
    sleep(1); 
    $async_job->read(); 
} 

$async_job->getResult(); 

?> 
+0

scheint, als ob die Kampagnen-ID, die Sie verwenden möchten, hier nicht gültig ist –

+0

Vielen Dank für Ihre Antwort auf @PaulBain! Ich habe die ID verwendet, die nach dem Feld "IDs" in der folgenden URL angezeigt wird. Diese URL ist die, die ich beim Anzeigen meiner Anzeige sehe. Ich habe auch die Kampagnen-ID-Anzeige mithilfe des Anzeigen-Managers aktiviert und kann bestätigen, dass es sich um die genaue Nummer handelt. busineyadayada/act = yyyyyyyyyyyyyyyyy & pid = y & ids = xxxxxxxxx & business_id = yyyy –

Antwort