アクセストークンのエラーなしで呼び出されたFB.logout()

I have upgraded my JS FB Connect to oauth version & when I am trying to logout from FB programatically using FB.logout() method, I am getting error like

"アクセストークンなしで呼び出されたFB.logout()

これの背後にある問題は何ですか?ここではスレッドを見ましたが、うまくいかなかった私のために。誰かがこれに対する解決策を見つけたら、私を助けてください。ありがとう。

4
私は同じ問題を抱えています。ユーザーに接続を許可します。ページのリフレッシュが発生しない場合、ユーザーはFB.logoutでログアウトでき、正常に動作します。しかし、ページが一度読み込まれると、FB.logoutはコンソールの警告を出します: "アクセストークンなしで呼び出されたFB.logout()
追加された 著者 thesmart,
いくつかのコードを表示できますか?
追加された 著者 Kokers,

2 答え

これは以前私が使ったことです。

//check if logout is 
FB.getLoginStatus(function(ret) {
    /// are they currently logged into Facebook?
    if(ret.authResponse) {
        //they were authed so do the logout
        FB.logout(function(response) {
           //do your stuff here.
        });
    } else {
       ///do something if they aren't logged in
       //or just get rid of this if you don't need to do something if they weren't logged in
    }
});
6
追加された
良い1、ありがとう!
追加された 著者 Ron,
良いもの!ログアウト後にリダイレクトを追加する方法/場所FB.logoutに追加しようとしました(function(response){...でも、その場合はログアウトしていません。
追加された 著者 user198003,
ドキュメントからは分かりませんが、FB.loginのようなものを他の関数のコールバックとして呼び出す必要があります。これはgetLoginStatusです。ドキュメンテーションには、それが自分自身の上で呼び出されていることが示されています。
追加された 著者 Luke,

私はこの問題に遭遇し、それを修正しました。

これは、ユーザーが既にログアウトしていて、fb.logout()メソッドに再度試みたときに起こりました。それは次のコードのようです:

FB.logout(function(response)
  {
     console.log(response.status);
  }
);

response.status will say 'connected' even if the user is logged out, due to some caching issues or some other bug. Hence its better to use authResponse to determine whether or not the user is logged in. I.e:

FB.logout(function(response)
  {
     if (! response.authResponse)
       //disable logout button
  }
);
0
追加された
ええ、これはちょっと修正されましたが、私のために働いた正しいアプローチですが、アイデアは同じでした。私はupvotedしました。ありがとう
追加された 著者 John Doe,
これは、足りないアクセストークンの不平を言い聞かせの問題を解決しません
追加された 著者 nathanengineer,