2012-04-25 4 views
1

我々はコードのTHIC枚持っている:ユーザーが我々のアプリは、Facebookのページとして記録入るまでのすべてのPage、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); 
     }, 

は、正常に動作し、Fb.getLoginStatusはそれのコールバックを起動しません。

私の質問は、アプリケーションでこのケースを処理するために検出する方法、または何か他の方法ですか?

乾杯、 ポール

答えて

0

は、私は、これはバグで賭けています。昨年、ユーザーがサンドボックスモードになったときもFB.getLoginStatusに同様の問題がありました。 はとにかく、ユーザーがで自分の通常のユーザに戻すために得ることができます。

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

それは、「別のユーザーとしてのFacebookを利用している」と言い、プロンプトを表示し、バック標準ユーザーへの切り替えをお願いしています。

もう1つの選択肢は、特定のタイムアウト後に(例えばボタンのような)Facebookブックウィジェットの1つを表示することです。同じようなボタンを表示する代わりに、「このソーシャルウィジェットを使用するには通常のユーザーに戻る」というリンクが表示されます。

これらの提案が役立つことを願っています。

+0

ありがとう、それがポイントです! –