1

내 코드에 Facebook 로그인 버튼이 추가되었습니다. 잘 작동한다.Facebook 로그인 - onCancel의 사용자 데이터 얻기

사용자가 페이스 북을 통해 로그인하고 'user_friends'권한을 선택 취소했다고 가정하면 'onSuccess'기능이 호출되어 loginResult에서 사용자 데이터를 가져올 수 있습니다.

다음 번에 앱을 열면 'user_friends'권한을 허용하기 위해 페이스 북 사용 권한 화면이 표시됩니다. 그가 다시 체크하지 않는다고 가정 해 봅시다. '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 
    } 
});