0

Marketing Api を使用して、自動化された広告の分析情報を取得する必要があります。この目的のために、Business Manager を介してシステム ユーザーを作成し、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();

?>
4

1 に答える 1