2017-03-20 12 views
1

私のコードにFacebookログインボタンが追加されました。それはうまくいく。Facebookログイン - onCancelでユーザーデータを取得

ユーザがFacebook経由でログインし、 'user_friends'権限のチェックを外すと仮定すると、 'onSuccess'機能が呼び出され、loginResultからユーザデータを取得できるようになります。

次回は、彼がアプリを開くときに、彼は 'user_friends'の許可を許可するためにFacebookの許可画面を取得します。彼が再びチェックを外したとしましょう:ユーザーが(ログアウトしていないので)期待どおりに自動的にログインしますが、 'onCancel'関数が呼び出されます。

現在、彼のデータをonCancelで取得するにはどうすればよいですか? (私は彼がログインしているが、いくつかの許可がオフになっていることを知っているので)

今回

と呼ばれることはありませんするonSuccessので、最後の時間ではなく、この時間内にログインしたユーザー
mCallbackManager = CallbackManager.Factory.create(); 
mLoginButtonFacebook.registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() { 
    @Override 
    public void onSuccess(LoginResult loginResult) { 

    } 
    @Override 
    public void onCancel() { 
     AccessToken token = AccessToken.getCurrentAccessToken(); 
     if (token != null) {    
      // here I would like to retrieve the user data 
      // the user is logged in with canceled permissions 
     } 
    } 
    @Override 
    public void onError(FacebookException exception) { 

    } 
}); 

答えて

0

成功しました!ご迷惑をおかけして申し訳ございません。

AccessToken accessToken = AccessToken.getCurrentAccessToken(); 

GraphRequest request = GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() { 
    @Override 
    public void onCompleted(JSONObject object, GraphResponse response) { 
     // object will contain the user data 
    } 
}); 
関連する問題