Вот мои разрешения
$config['facebook']['permissions'] = array(
'email',
'user_location',
'user_birthday',
'publish_actions',
'manage_pages',
'public_profile',
);
Я не могу публиковать на странице в фейсбуке администратора. Это выдает мне эту ошибку
Exception occured, code: 200 with message: (#200) The user hasn't authorized the application to perform this action
если я удалю 'access_token' => $pageList['access_token'],
тогда я могу публиковать на странице, но не как admin.но когда я добавляю эту строку, это дает мне эту ошибку выше, может кто-нибудь сказать мне, почему
Вот моя функция pagePost, которую я использую для публикации на странице
public function pagePost() {
if ( $this->session ) {
try {
$pageAccessToken;
$request_page = new FacebookRequest($this->session, 'GET', '/1420447421611683?fields=access_token,name,can_post');
$pageList = $request_page->execute()
->getGraphObject()
->asArray();
$request = ( new FacebookRequest( $this->session, 'POST', '/1420447421611683/feed',array(
'access_token' => $pageList['access_token'],
'link' => 'www.example.com',
'message' => 'Hello Up',
) ) )->execute();
echo "Posted with id: " . $request->getProperty('id');
$page = $request->getGraphObject()->asArray();
return $page;
} catch(FacebookRequestException $e) {
echo "Exception occured, code: " . $e->getCode();
echo " with message: " . $e->getMessage();
}
}
return false;
}
Может кто-нибудь сказать мне, что не так.
Я буду очень благодарен.
Чтобы разместить на странице «как страницу», необходимо авторизовать пользователя с помощью «publish_pages
«и вам нужно использовать Page Token. Попробуйте добавить publish_pages
к вашему списку разрешений:
$config['facebook']['permissions'] = array(
'email',
'user_location',
'user_birthday',
'publish_actions',
'publish_pages',
'manage_pages',
'public_profile',
);
Других решений пока нет …