Я пытаюсь заставить работать FB.api / me / feed, но он возвращает состояние 302. Найдено.
Когда пользователь не разрешил Расширенные разрешения stream_publish, функция работает, как и предполагалось,возвращая ошибку о том, что пользователь не авторизовал разрешения для этого действия.
Однако после принятия расширенных разрешений и повторного вызова я получаю ответ 302 Found из Facebook, и появляется сообщение об ошибке JS.
Ошибка JS: синтаксическая ошибка - <! DOCTYPE html>
проверка ответа NET Я вижу, что выполняется звонок:
https://graph.facebook.com/me/feed?access_token=[access_token]&callback=FB.ApiServer._callbacks.f32a1cd2d00c92&message=Reading%20JS%20SDK%20documentation&method=post&pretty=0&sdk=joey
и возвращен статус: 302 найдено
Разве ответ не должен быть 200ОК?Что я здесь не так делаю?Ниже приведен код, относящийся к проблеме ... Заранее большое спасибо!
PS. Возможно, было бы полезно упомянуть, что другие вызовы FB.api, такие как / me и / me / permissions, работают нормально.Только FB.api / me / feed, кажется, переустанавливает 302. Найдено.
<body>
<a href="#" onclick="nowPost()">nowPost</a>
<script>
function nowPost() {
var body = 'Reading JS SDK documentation';
FB.api('/me/feed', 'post', { message: body }, function(response) {
if (!response || response.error) {
alert('Error occured');
} else {
alert('Post ID: ' + response.id);
}
});
}
</script>
</body>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({
appId : fbAppId,
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
oauth : true
});
(function()
{
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/<c:out value="${locale}" />/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
</script>
Обновление: Я заметил, что другие приложения Facebook используют FB.api / user_id / feed/ получали ту же проблему.Если это каким-то образом не связано с oAuth 2.0 (который я обновил до JS SDK), я склонен думать, что Facebook снова что-то сломал.