2011-09-04 217 views
0

我有這個Facebook的js api代碼,它一直工作到一天回來... 現在它已經突然停止工作.. 即時通訊使用它爲一個拼貼項目,其可能我的合作伙伴可能已經撥弄着它,但我不能似乎發現了什麼不對的地方......Facebook的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()函數

+0

問題,是我的應用程序ID是正確的在實際的代碼...並沒有任何的Facebook的例子似乎工作要麼(我只是代替應用程序ID) –

回答

0

它已經開始工作了.. 正是在Facebook的結束

0

您可以使用firebug或alert語句來調試您的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> 
+0

我已經嘗試過螢火蟲和chromes開發人員工具.. 都不給我任何錯誤..我複製粘貼您的代碼,並給我的名稱和ID爲「undefined」 –

+0

當FB登錄按鈕更改爲「註銷」時,您是否嘗試進行瀏覽器刷新? FB登錄按鈕是否完全顯示,是否更改爲「註銷」?我可以檢查的測試是在這裏http://niklas-app.appspot.com/user/login我可以顯示一個登錄按鈕,通過Facebook進行身份驗證並通過javascript顯示我的Facebook名稱和ID。如果FB登錄按鈕沒有更改爲「註銷」,那麼在某處出現了錯誤。我可以嘗試原始問題中的代碼,看看它是如何比較的。 –

+0

thers東西額外的你需要添加到他的Facebook的按鈕標籤爲它改變.. ,我不希望它改變爲註銷..實際上,我顯示的用戶信息,而不是按鈕 –