использование FB.api для публикации на стене дает ошибку - PullRequest
0 голосов
/ 13 октября 2011

Я пытаюсь опубликовать сообщение на стене пользователя, используя приложение и FB.api. Это моя страница:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="https://www.facebook.com/2008/fbml">
  <head>
    <title>My Feed Dialog Page</title>
  </head>
  <body>
<div id='fb-root'></div>
<script src='http://connect.facebook.net/en_US/all.js'></script>
 <script> 




  FB.init(
    {
      appId: "MY_ID",
      status: true,
      cookie: true,
      oauth : true
    }
  );


FB.login(function (response) 
{
    if (response.authResponse) 
    {
        var body = 'Reading JS SDK documentation';
        FB.api('/me/feed', 'post', { message: body }, function(response) {
            if (!response || response.error) {
            alert(response[0]);
                alert('Error occured');
            } else {
                alert('Post ID: ' + response.id);
            }
        });           

    } 
    else 
    {
        alert('User is logged out');
    }
}, {publish_stream : true});

</script>
  </body>
</html>

Это не удалось. Используя отладку java-скриптов chromes, я нахожу следующее:

/**/ FB.ApiServer._callbacks.f1abfdaec({"error":{"message":"(#200) The user hasn't authorized the application to perform this action","type":"OAuthException"}});

Как видите, я предоставляю запрос publish_stream для функции входа в систему. Что-нибудь еще, что я должен предоставить? Я не могу найти это в документации.

Есть что-нибудь еще, что я делаю здесь неправильно?

Спасибо!

1 Ответ

2 голосов
/ 13 октября 2011

Вы неправильно определяете права доступа.Чтобы это работало, вам нужно изменить

}, {publish_stream: true});

на

}, {scope: 'publish_stream'});

Тогда это должно работать:)

...