营销Api许可例外

时间:2016-05-31 12:41:18

标签: php facebook whitelist facebook-marketing-api

我需要使用Marketing Api获得一些自动广告洞察。为此,我通过业务经理创建了一个系统用户,并使用ads_read权限生成了一个系统用户访问令牌。

使用此令牌然后进行api调用并使用FacebookAds php v2.6 sdk获取特定广告系列的数据洞察,我收到以下错误:

 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.'

我的应用是否需要列入白名单,或者我错过了其他内容?我注意到' ads_read'旁边允许有这样的说明表明'(您的应用必须列入白名单)'。

以下是使用

的示例代码
<?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();

?>

1 个答案:

答案 0 :(得分:0)

您的应用似乎没有ads_read权限。您可以在此处找到有关如何提出要求的更多信息:https://developers.facebook.com/docs/marketing-api/access