1

从 Android 3.0 上的 Facebook API 获取电子邮件地址时,我收到空指针异常。

产生异常的代码如下:

LoginButton authButton;
authButton = (LoginButton) findViewById(R.id.authButton);
// set permission list, Don't forget to add email
authButton.setReadPermissions(Arrays.asList("basic_info", "email"));
authButton.setSessionStatusCallback(new Session.StatusCallback() {
    @Override
    public void call(Session session, SessionState state,
                     Exception exception) {
        showToast("Inside Call");
        if (session.isOpened()) {
            showToast("Inside Session");
            System.out.println("facebook Access Token"
                               + session.getAccessToken());
            fbToken = session.getAccessToken();
            Request.executeMeRequestAsync(session,
                                          new Request.GraphUserCallback() {
                                              @Override
                                              public void onCompleted(GraphUser user,
                                                                      Response response) {
                                                  if (user != null) {
                                                      String email = user.asMap().get("email").toString();
                                                  }
                                              }
                                          });
        }
    }
});

该代码以前可以工作 - 我在集成代码时可能犯了一个错误。

4

1 回答 1

2

您可以使用该属性从 GraphUser 对象获取用户电子邮件。

 user.getProperty("email").toString()

它对我有用。希望它也对你有用。

于 2013-07-24T09:20:07.727 回答