Активный токен доступа должен использоваться для запроса информации об ошибке текущего пользователя facebook.

Я разрабатываю приложение для Facebook, и у меня возникли некоторые проблемы. По сути, после того, как пользователь выиграл игру, я прошу его опубликовать свой успех на своей стене (например, «Смотри! Я выиграл игру! Сыграй и в эту игру на название игры!» -> это является переводом румынских битов следующего кода). Я использую этот код:

if ($raspuns == "Ваш блюз") {

echo("Браво! Ai castigat jocul! Intoarce-te saptamana viitoare cand se va posta un alt set de melodii!");

$access_token = $facebook->getAccessToken();

$wall_post = array('message' => 'Am castigat jocul Ghiceste Melodia! Joaca si tu cu Revista Floyd!',

            'name' => 'Campion Ghiceste Melodia',

            'caption' => "Am castigat jocul Ghiceste Melodia! Joaca si tu cu Revista Floyd!",

            'link' => 'https://apps.facebook.com/revistafloyd/',

            'description' => 'Revista Floyd este o revista despre muzica rock.',

            );    

$result = $facebook->api('/me/feed/', 'post', $wall_post);

}

Но я получаю это сообщение всякий раз, когда пользователь вводит правильный ответ:

Неустранимая ошибка: Uncaught OAuthException: для запроса информации о текущем пользователе необходимо использовать токен активного доступа. добавлено в /home/pasarel/public_html/face/src/base_facebook.php в строке 1106

Это почему? Я упоминаю, что у меня есть токен доступа пользователя и приложения, так что не так? Я где-то читал, что может отсутствовать часть «сессии» (здесь: http://benbiddington.wordpress.com/2010/04/23/facebook-graph-api-getting-access-tokens/ ). Может это ответ? Как это исправить?


person user1328971    schedule 14.04.2012    source источник


Ответы (1)


Просто

Изменить это

$wall_post = array('message' => 'Am castigat jocul Ghiceste Melodia! Joaca si tu cu Revista Floyd!',

            'name' => 'Campion Ghiceste Melodia',

            'caption' => "Am castigat jocul Ghiceste Melodia! Joaca si tu cu Revista Floyd!",

            'link' => 'https://apps.facebook.com/revistafloyd/',

            'description' => 'Revista Floyd este o revista despre muzica rock.',

            );    

к этому

$wall_post = array('access_token' => $access_token ,
'message' => 'Am castigat jocul Ghiceste Melodia! Joaca si tu cu Revista Floyd!',

            'name' => 'Campion Ghiceste Melodia',

            'caption' => "Am castigat jocul Ghiceste Melodia! Joaca si tu cu Revista Floyd!",

            'link' => 'https://apps.facebook.com/revistafloyd/',

            'description' => 'Revista Floyd este o revista despre muzica rock.',

            );    

Обновлять

Попробуйте изменить это

$WallPost = array(
                        'access_token' => $access_token,
                        'message' => $message,
                        'link' => $link,
                        'name' => $name,
                        'caption' => $caption,
                        'description' => $description);

                        $response = $facebook->api('/me' . '/feed','POST',$WallPost);
person Abdullah Adam    schedule 14.04.2012
comment
попробуй echo "token: " . $access_token ; - person Abdullah Adam; 14.04.2012
comment
дайте мне ваш access_token на [email protected] я проверю его через несколько часов - person Abdullah Adam; 15.04.2012
comment
Нет, спасибо, наконец-то я заработал, добавив в код «action» => $action. - person user1328971; 17.04.2012
comment
о, хорошо, но не могли бы вы уточнить, что содержит $action . - person Abdullah Adam; 18.04.2012