获取用户ID和电子邮件使用Facebook的Andr​​oid版SDK

问题描述:

我想获得用户的ID和电子邮件记录的。这里是我的code:

I am trying to get the logged in user's id and email. Here is my code:

authButton.setReadPermissions(Arrays.asList("basic_info","email"));
          // session state call back event
          authButton.setSessionStatusCallback(new Session.StatusCallback() {

   @Override
   public void call(Session session, SessionState state, Exception exception) {

        if (session.isOpened()) {
             Log.i(TAG,"Access Token"+ session.getAccessToken());
               Request.newMeRequest(session,
                   new Request.GraphUserCallback() {
          @Override
          public void onCompleted(GraphUser user,Response response) {
           if (response != null) { 
              Log.i(TAG,"User ID "+ user.getId());
               Log.i(TAG,"Email "+ user.asMap().get("email"));
                 }
                }
              });
           }
          }
     });

一切正常的话到这里

Everything goes ok till here

Log.i(TAG,"Access Token"+ session.getAccessToken());

我可以看到访问令牌,但的onComplete 方法不叫了,我没有得到任何用户信息。

I can see the access token, but the onComplete method is not called, and i don't get any user info.

我在做什么错了?

尝试

if (user != null)

而不是

if (response != null)

或尝试

Request.newMeRequest(...).executeAsync();