Facebook 脸书贴墙不起作用

Facebook 脸书贴墙不起作用,facebook,iframe,facebook-wall,Facebook,Iframe,Facebook Wall,我正在为我的应用程序开发facebook贴墙功能。我正在使用Facebook Javascript SDK。但问题是,当我通过单击链接调用postToFeed()函数时,它与iframe完美结合。但是如果我想以其他方式加载它(例如body onload),那么iframe会显示一个错误“出错了,请稍后再试”。我已经用FB.ui提供了access_令牌,它消除了会话问题,但是如果不单击链接,它仍然无法工作。下面是我的代码: <div id='fb-root'></div>

我正在为我的应用程序开发facebook贴墙功能。我正在使用Facebook Javascript SDK。但问题是,当我通过单击链接调用postToFeed()函数时,它与iframe完美结合。但是如果我想以其他方式加载它(例如body onload),那么iframe会显示一个错误“出错了,请稍后再试”。我已经用FB.ui提供了access_令牌,它消除了会话问题,但是如果不单击链接,它仍然无法工作。下面是我的代码:

<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>

投递

init({appId:“我的应用程序ID”,状态:true,cookie:true}); 函数postToFeed(){ //正在调用API。。。 var obj={ 方法:“stream.publish”, 显示:“iframe”, 访问\u令牌:“”, 链接:'https://developers.facebook.com/docs/reference/dialogs/', 图片:'http://fbrell.com/f8.jpg', 名称:“Facebook对话”, 标题:“参考文档”, 描述:“使用对话框与用户交互。” }; 函数回调(响应){ document.getElementById('msg').innerHTML=“Post ID:”+response['Post_ID']; } FB.ui(obj,回调); }

我的应用程序现在处于沙盒模式。但我想这不是问题所在。请帮我做这个。谢谢

您的方法似乎不正确。您可能没有使用Facebook的最新示例。见:


既然你把问题解决了,请你把它结束好吗?从哪里我可以结束这个?你自己回答。等待12小时,然后接受你自己的答案。
// 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);