опубликовать на стене пользователя с вкладки facebook

Как я могу запросить у пользователя разрешения на публикацию потоков и электронную почту с вкладки facebook? Все, что я нашел, не позволит мне перенаправить обратно ни на текущую страницу, которую я загрузил в iframe, ни на URL-адрес вкладки facebook. Все, что я пробовал, дало мне эту общую ошибку Facebook.

Следует отметить, что я не запрашиваю разрешения с начальной страницы, которая загружается на вкладках iframe. У меня есть заполненная и отправленная форма, которая перенаправляет iframe на другую страницу, на этой второй странице мне нужно запросить разрешения. Причина этого в том, что я хочу, чтобы форма была заполнена, прежде чем, возможно, отпугнуть пользователя, потому что он не хочет разрешать разрешения.

Это может быть проще, если я могу вывести сообщение на вашу стену и попросить пользователя нажать кнопку отправки. Этот способ не требует разрешений заранее правильно? Каким будет код, чтобы сделать это таким образом?


person Michael McCurley    schedule 12.10.2011    source источник


Ответы (1)


arrow_upward
0
arrow_downward

Вы можете просто использовать диалоговое окно ленты новостей:

<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>
    <p><a onclick='postToFeed(); return false;'>Post to Feed</a></p>
    <p id='msg'></p>

    <script>
      FB.init({appId: "YOUR_APP_ID", status: true, cookie: true});

      function postToFeed() {

        // calling the API ...
        var obj = {
          method: 'feed',
          link: 'https://developers.facebook.com/docs/reference/dialogs/',
          picture: 'http://fbrell.com/f8.jpg',
          name: 'Facebook Dialogs',
          caption: 'Reference Documentation',
          description: 'Using Dialogs to interact with users.'
        };

        function callback(response) {
          document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
        }

        FB.ui(obj, callback);
      }

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

Он хорошо работает на вкладке страницы.

person ifaour    schedule 12.10.2011
comment
Мне нужно инициализировать класс FB только один раз на странице, верно? Другими словами, это уже есть на странице FB.init({appId: YOUR_APP_ID, status: true, cookie: true}); Так что я могу оставить это в коде диалога правильно? Или мне нужно включать это каждый раз, чтобы инициализировать новый? - person Michael McCurley; 12.10.2011
comment
Наконец-то я понял, где проблема. До новых изменений, когда вы создавали приложение, вы только что создавали приложение. Теперь у вас есть возможность выбора приложения, вкладки, веб-сайта, Android и т. д. Если вы выберете только настройку вкладки, вы получите ошибки, используя любой из FB API. Вы также должны выбрать настройку приложения. - person Michael McCurley; 13.10.2011