【问题标题】:Facebook api suddenly stopped workingFacebook api突然停止工作
【发布时间】:2011-11-10 03:16:39
【问题描述】:

我有这个 facebook js api 代码,它一直工作到一天前...... 现在它突然停止工作了.. 我将它用于拼贴项目,我的伴侣可能已经摆弄了它,但我似乎找不到任何问题......

<div id="fb-root"></div>
  <script src="http://connect.facebook.net/en_US/all.js"></script>
  <script type="text/javascript" >
     var access_token;
     FB.init({ 
        appId:'XYZ', 
        cookie:true, 
        status:true, 
        xfbml:true 
     });

     FB.Event.subscribe('auth.login', function(response) {
                                login_event();
            });

    function login_event(){
        FB.api("/me",function(user){
            var request = new XMLHttpRequest();
            request.onreadystatechange=function(){
            uid = user.id;
            if(request.readyState==4 && request.status==200){
                    $("#middle").load("login_manager.php?uid="+uid);
                }
            }
            request.open("GET", "sessions.php?uid="+uid, true);
            request.send();  

        })
    }

    if(navigator.appCodeName=="Mozilla"){

        FB.getLoginStatus(function(response) {

            document.getElementById("middle").innerHTML = "<img src=\"../images/loading-round2.gif\">";
            if (response.session) {
                access_token = response.session.access_token;   
                FB.api('/me', function(user) {  
                   if (user!=null) {
                    var uid = user.id;
                    var request = new XMLHttpRequest();
                    request.open("GET", "sessions.php?uid="+uid, true);
                    request.send();           
                    request.onreadystatechange=function(){
                        if(request.readyState==4 && request.status==200){
                                $("#middle").load("login_manager.php");
                                }
                            }
                        }
                    });
                }
                else{
                    document.getElementById("middle").innerHTML = '<fb:login-button perms="email,user_checkins,offline_access,publish_stream">Login with Facebook</fb:login-button>';
                    FB.XFBML.parse(document.getElementById('middle'));
                }             
            });

        }



    </script>

它似乎没有进入 getLoginStatus() 函数

【问题讨论】:

  • 是的,我的应用程序 ID 在实际代码中是正确的......而且 Facebook 的示例似乎都没有工作(我只替换了应用程序 ID)..

标签: javascript facebook api facebook-graph-api


【解决方案1】:

您可以使用firebug 或警报语句来调试您的javascript。今天我尝试了以下与您的脚本类似的js,这对我有用:

<fb:login-button autologoutlink="true"></fb:login-button>      
    <div id="fb-root"></div>    
    <script>
      window.fbAsyncInit = function () {
          FB.init({
              appId: '159618137417054',//enter your app id
              status: true,
              cookie: true,
              xfbml: true
          });
          FB.Event.subscribe('auth.login', function (response) {
              window.location.reload();
          });
      };
      (function () {
          var e = document.createElement('script');
          e.type = 'text/javascript';
          e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
          e.async = true;
          document.getElementById('fb-root').appendChild(e);
      }());
          alert('FB API Test')
      FB.api('/me', function (response) {
          alert(response.name)
          alert(response.id);//now my facebook ID is available to javascript
      });
    </script>

【讨论】:

  • 我已经尝试过 firebug 和 chromes 开发者工具.. 两者都没有给我任何错误.. 我复制粘贴了你的代码,它给我的名字和 id 为“未定义”
  • 当 FB 登录按钮更改为“注销”时,您是否尝试过刷新浏览器? FB登录按钮是否完全显示并更改为“注销”?您可以检查的我的测试在这里niklas-app.appspot.com/user/login 我可以显示一个登录按钮,通过 facebook 进行身份验证,并通过 javascript 显示我的 facebook 名称和 ID。如果 FB 登录按钮未更改为“注销”,则说明某处出现错误。我可以尝试原始问题中的代码,看看它是如何比较的。
  • 还有一些额外的东西你需要添加到他的 facebook-button 标签才能改变..我不希望它改变为注销..事实上我显示用户信息代替按钮
【解决方案2】:

它又开始工作了.. 这是facebook的问题

【讨论】:

    猜你喜欢
    • 2017-08-21
    • 2018-09-05
    • 2016-03-03
    • 1970-01-01
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多