Попытка опубликовать обновление статуса с помощью Facebook php SDK.Код размещен ниже.Насколько я понимаю, мне нужно запросить расширенное разрешение, которое я делаю в URL-адресе для входа с '& scope = publish_stream', но это все еще не работает.
Результирующий URL-адрес входа выглядит так: https://www.facebook.com/login.php?api_key=174954539217971&cancel_url=http%3A%2F%2Fexample.com%2facebook.post.php&display=page&fbconnect=1&next=http%3A%2F%2Fexample.com%2Ffacebook.post.php&return_session=1&session_version=3&v=1.0&scope=publish_stream
Так что вы можете видеть, что он установлен.Хотя это по сути тот же вопрос, что и: Facebook OAuthException: "пользователь не авторизовал приложение для выполнения этого действия"
Предлагаемое решение в этой теме здесь не работает.
<?php
echo "Posting to facebook..<br/>";
require './fb_src/facebook.php';
$facebook = new Facebook(array(
'appId' => 'appId',
'secret' => 'secret',
'cookie' => true,
));
$session = $facebook->getSession();
$me = null;
if ($session) {
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
} catch (FacebookApiException $e) {
header('Location: ' . $facebook->getLoginUrl(array('scope' => 'publish_stream')));
error_log($e);
}
}
else {
header('Location: ' . $facebook->getLoginUrl(array('scope' => 'publish_stream')));
}
print_r($me);
try {
$feed = $facebook->api('/me/feed', 'post', array('message' => 'Hello world!', 'cb' => ''));
} catch (FacebookApiException $e) {
print($e);
}
print_r($feed);
?>