[英]android facebook sdk returns email null
我的应用之前使用过此代码,并且可以正常工作,但直到昨天才停止工作,不知道为什么。 我可以得到名字和图片。 但是电子邮件为空。
List<String> permisions = Arrays.asList(
"email");
Session.openActiveSession(getActivity(), true, permisions , new Session.StatusCallback() {
// callback when session changes state
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
// make request to the /me API
Request.newMeRequest(session, new Request.GraphUserCallback() {
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
String name = user.getFirstName();
String email = (String)user.getProperty("email");
System.out.println("Email: "+email);
System.out.println("Name: "+name);
}
}
问题是,用户可能在其Facebook个人资料中设置了电子邮件,但可能将其设置为私人含义,即使他们已对其进行设置,也无法检索它,在这种情况下,您将获得空值。 您可能需要先使用null进行检查,然后使用该属性,否则代码流将在那里停止,并且将得到NPE,但不会发生任何错误,发生任何错误或发生任何事情。 检查一下: 在调用getProperty()之前检查facebook-sdk android是否为用户数据提供了空值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.