Пост в фейсбуке не работает - PullRequest
0 голосов
/ 17 января 2012

Я разрабатываю для своего приложения функцию публикации на стене в Facebook. Я использую Facebook Javascript SDK. Но дело в том, что когда я вызываю функцию postToFeed (), щелкая ссылку, она отлично работает с iframe. Но если я хочу загрузить его другим способом (например, при загрузке тела), тогда iframe показывает с ошибкой «Произошла ошибка. Пожалуйста, повторите попытку позже». Я предоставил access_token с FB.ui, который устраняет проблему с сессией, но все равно не заставил его работать без нажатия на ссылку. Ниже мой код:

<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>
    <?php
    $token_url = "https://graph.facebook.com/oauth/access_token?client_id=MY_CLIENT_ID&client_secret=MY_CLIENT_SECRET&grant_type=client_credentials&redirect_uri=MY_REDIRECT_URI";
     $token = file_get_contents($token_url);

      ?>

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

  function postToFeed() {

    // calling the API ...
    var obj = {
      method: 'stream.publish',
      display: 'iframe',
      access_token: '<?php echo $token;?>',
      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>

Мое приложение сейчас находится в режиме песочницы. Но я полагаю, что это не должно быть проблемой. Пожалуйста помоги мне с этим. Спасибо

1 Ответ

1 голос
/ 18 января 2012

Ваш метод неверен. Возможно, вы не используете последний пример из Facebook. Смотри: https://developers.facebook.com/docs/reference/dialogs/feed/

// 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) {
  if (response && response.post_id) {
     document.getElementById('msg').innerHTML = "Post ID: " + response.post_id;
  } else {
    alert('Post was not published.');
  }      
}

FB.ui(obj, callback);
...