无法从Facebook API检索电子邮件地址

时间:2013-07-24 09:02:39

标签: android facebook-android-sdk

我在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();
                                                  }
                                              }
                                          });
        }
    }
});

代码以前正在运行 - 在集成代码时我可能犯了一个错误。

1 个答案:

答案 0 :(得分:2)

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

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

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