【发布时间】:2015-10-14 10:57:08
【问题描述】:
我正在使用 FB Ads API,按照文档中描述的步骤创建我的 PHP 文件,如下所示。它给了我
致命错误:未捕获的异常“FacebookAds\Http\Exception\AuthorizationException”与消息“无效的 OAuth 访问令牌”。在 /project/root/vendor/facebook/php-ads-sdk/src/FacebookAds/Http/Exception/RequestException.php 第 137 行
和
FacebookAds\Http\Exception\AuthorizationException:OAuth 访问令牌无效。在 /project/root/vendor/facebook/php-ads-sdk/src/FacebookAds/Http/Exception/RequestException.php 第 137 行
我的 PHP 代码 sn-p 是
<?php
require_once DIR . '/vendor/autoload.php';
use Facebook\Facebook;
use Facebook\Exceptions\FacebookResponseException;
use Facebook\Exceptions\FacebookSDKException;
use FacebookAds\Api;
use FacebookAds\Object\AdUser;
// Init PHP Sessions
session_start();
$fb = new Facebook([
'app_id' => 'your-app-id',
'app_secret' => 'your-app-secret',
]);
$helper = $fb->getRedirectLoginHelper();
if (!isset($_SESSION['facebook_access_token'])) {
$_SESSION['facebook_access_token'] = null;
}
if (!$_SESSION['facebook_access_token']) {
$helper = $fb->getRedirectLoginHelper();
try {
$_SESSION['facebook_access_token'] = (string) $helper->getAccessToken();
} catch (FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch (FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
}
if ($_SESSION['facebook_access_token']) {
echo "You are logged in!";
$app = Api::init(
'your-app-id', // App ID
'your-app-secret', $_SESSION['facebook_access_token'] // Your user access token
);
$me = new AdUser('me');
$my_adaccount = $me->getAdAccounts()->current();
print_r($my_adaccount->getData());
} else {
$permissions = ['ads_management'];
$loginUrl = $helper->getLoginUrl('http://localhost:8888/marketing-api/', $permissions);
echo 'Log in with Facebook';
}
【问题讨论】:
-
您是否在开发者设置下列出了您的广告帐户?
标签: php facebook-graph-api facebook-ads-api