我在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();
}
}
});
}
}
});
代码以前正在运行 - 在集成代码时我可能犯了一个错误。
答案 0 :(得分:2)
您可以使用该属性从GraphUser对象获取用户电子邮件。
user.getProperty("email").toString()
它对我有用。希望它也适合你。