2012-04-25 67 views
1

我們THIC一段代碼:如何檢測用戶登錄爲頁面,FB.getLoginStatus不起作用?

  checkStatus: function() { 

      var self = this; 

      FB.getLoginStatus(function(response) { 
       if (response.status === 'connected') { 

        self.isPage = false; 
        dojo.publish('fb/loginStatus/connected', response.authResponse); 

        if (self.UserRecord === null) { 

         self.buildAll(response.authResponse); 

        } else if (self.UserRecord.user_fid !== response.authResponse.userID){ 

         self.clearAll(); 
         setTimeout(function(){ self.buildAll(); }, 100); 
        } 

       } else { 

        if (response.status === 'not_authorized') { 
         dojo.publish('fb/loginStatus/logged', response); 
        } else { 

         dojo.publish('fb/loginStatus/notLogged', response); 
        } 
       } 
      },true); 
     }, 

所有工作正常,直到用戶進入我們的應用程序記錄爲Facebook頁面,Fb.getLoginStatus不會引發它的回調。

而我的問題是,如何檢測,或做別的事情來處理這種情況下的應用程序?

乾杯, 保羅

回答

0

我敢說這是一個錯誤。去年用戶處於沙盒模式時,FB.getLoginStatus出現類似問題。 不管怎麼說,你可以得到一個用戶切換回正常的用戶提供:

FB.login(function(response) { 
    // response handler 
}); 

它會顯示一個提示,說「您正在使用Facebook的爲不同的用戶」,並要求您切換回標準用戶。

另一種選擇是在某個超時後(例如按鈕)顯示Facebook社交小部件之一。而不是顯示一個像按鈕,它會出現一個鏈接,指出「切換回正常用戶使用此社交窗口小部件」。

希望這些建議有所幫助。

+0

謝謝,這就是要點! – 2012-04-26 13:38:40