API объявлений Facebook Неверный токен доступа OAuth
В настоящее время мы пытаемся настроить рекламный API в Laravel. Это были дни, но вызов getAdAccounts() всегда приводит к "Неверный токен доступа OAuth". исключение. Однако тот же токен доступа при использовании в Graph Explorer API работает так же хорошо для конечной точки adaccounts
Вот код -
try {
$fb = new Facebook([
env('FACEBOOK_APP_ID'), // App ID
env('FACEBOOK_APP_SECRET'),
env('FACEBOOK_GRAPH_VERSION')
]);
$helper = $fb->getRedirectLoginHelper();
$accessToken = $helper->getAccessToken();
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!";
Api::init(
env('FACEBOOK_APP_ID'), // App ID
env('FACEBOOK_APP_SECRET'),
$_SESSION['facebook_access_token']
);
echo $_SESSION['facebook_access_token'];
$me = new AdUser('me');
//dd($me);
$my_adaccount = $me->getAdAccounts();
dd($my_adaccount);
} else {
$permissions = ['ads_management', 'user_friends'];
$loginUrl = $helper->getLoginUrl('http://localhost:8000/facebookads', $permissions);
echo '<a href="' . $loginUrl . '">Log in with Facebook</a>';
}
}
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;
}
catch(\Exception $e){
dd($e);
}
1 ответ
Api::init(APP_ID,APP_SECRET, ACCESS_TOKEN); ACCESS_TOKEN Не ссылается на $_SESSION['facebooke_access_token'], а на ваш токен API маркетинга. Перейдите по https://developers.facebook.com/apps// marketing-api / tools /, чтобы получить токен Marketing API.