У меня есть реальные проблемы при публикации ссылок на страницу Facebook через Facebook SDK для PHP (v5.4). Я использую v2.6 API Graph Facebook.
Я использую пользователя, который имеет доступ администратора к странице.
У меня есть токен доступа, который никогда не истекает, со следующими разрешениями: user_managed_groups
, user_photos
, user_posts
, email
, manage_pages
, publish_pages
, pages_show_list
, publish_actions
, public_profile
,
Это мой код:
use \Facebook\Facebook;
use \Facebook\Exceptions\FacebookResponseException;
use \Facebook\Exceptions\FacebookSDKException;
$app_id = '123';
$app_secret = 'ABC';
$access_token = 'XXX';
$page_id = '123';
$fb = new Facebook\Facebook([
'app_id' => $app_id,
'app_secret' => $app_secret,
'default_graph_version' => 'v2.6',
'access_token' => $access_token,
]);
$helper = $fb->getRedirectLoginHelper();
try {
$response = $fb->get('/' . $page_id . '?fields=access_token', $access_token);
// This returns the same access token as I've already got,
// so I don't know if that's a problem,
// or if there's just no point doing this.
$page_access_token = $response->getAccessToken();
$response = $fb->post('/' . $page_id . '/feed', [
'message' => 'Test message with link',
'link' => 'http://example.com',
], $page_access_token);
} catch (FacebookResponseException $exception) {
echo '<p>Graph returned an error: ' . $exception->getMessage() . '</p>';
exit;
} catch (FacebookSDKException $exception) {
echo '<p>Facebook SDK returned an error: ' . $exception->getMessage() . '</p>';
exit;
}
На данный момент я получаю следующее исключение:
Graph returned an error: (#200) Permissions error
Любая помощь с этим была бы очень признательна. Такое ощущение, что я так близко.
Задача ещё не решена.
Других решений пока нет …