0

atm 我试图让 facebook api 工作,我卡在 oauth

<!DOCTYPE html>
<head>
<script src="http://connect.facebook.net/en_US/all.js"></script>
</head>
<body>
<fb:login-button autologoutlink="true" onlogin="OnRequestPermission();">
</fb:login-button>
<script language="javascript" type="text/javascript">
    FB.init({
        appId: '143655195699763',
        status: true,
        cookie: true,
        xfbml: true
    });
</script>
</body>
</html>

就我尝试登录而言,我得到一个错误

发生错误。请稍后再试。

任何想法?

另外,如果我使用那个,我仍然会收到相同的错误消息......也许它与我的 appID 有关?

<!DOCTYPE html>
<head>
<script src="http://connect.facebook.net/en_US/all.js"></script>
</head>
<body>
<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : '395527397147712', // App ID
      status     : true, // check login status
      cookie     : true, // enable cookies to allow the server to access the session
      xfbml      : true  // parse XFBML
    });
  };
</script>
<script>
 function fb_publish() {
     FB.ui(
       {
         method: 'stream.publish',
         message: 'Message here.',
         attachment: {
           name: 'Name here',
           caption: 'Caption here.',
           description: (
             'description here'
           ),
           href: 'url here'
         },
         action_links: [
           { text: 'Code', href: 'action url here' }
         ],
         user_prompt_message: 'Personal message here'
       },
       function(response) {
         if (response && response.post_id) {
           alert('Post was published.');
         } else {
           alert('Post was not published.');
         }
       }
     );  
  }

</script>

<input name="" type="button" onClick="fb_publish()">

</body>
</html>
4

1 回答 1

0

我不确定这是否是原因,但在 SDK Docs 示例中,您有两个函数,一个是 fb.init(您拥有它),另一个是匿名函数,它调用自身来加载您附加的脚本直接到 DOM,也许你应该通过匿名函数加载脚本;编码:

<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : 'YOUR_APP_ID', // App ID
      channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
      status     : true, // check login status
      cookie     : true, // enable cookies to allow the server to access the session
      xfbml      : true  // parse XFBML
    });

    // Additional initialization code here
  };

  // Load the SDK Asynchronously
  (function(d){
     var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/en_US/all.js";
     ref.parentNode.insertBefore(js, ref);
   }(document));
</script>

另外,请确保正确隐藏#fb-root元素,因为在 IE 中 SDK 可能会导致问题。更多信息在这里

于 2012-04-24T07:36:49.990 回答