我正在尝试从 ParseUser 中检索 authData 字段。对于 Parse 1.9.1,我曾经这样做:
ParseUser user = ParseUser.getCurrentUser();
HashMap authDataMap = (HashMap)user.get("authData");
HashMap facebookMap = (HashMap)authDataMap.get("facebook");
String facebookId = (String)facebookMap.get("id");
这很好用。
不过有些事情发生了变化。我不知道是因为我更新到 Parse 1.9.2 还是 Parse 服务器端发生了一些变化,但 authData 不再可访问。 user.get("authData") 行返回空值。即使我重新获取用户。
最终我想从 ParseUser 检索 Facebook id,最好不要联系 Facebook。这不再可能了吗?
最佳答案
如果您使用 ParseFacebookUtils 来执行登录 Facebook 用户,那么在从解析中成功登录后,尝试使用以下方法获取 GraphUser 以获取 Facebook 用户数据-
Request.newMeRequest(ParseFacebookUtils.getSession(),
new Request.GraphUserCallback() {
@Override
public void onCompleted(
final GraphUser fbUser,
Response response) {
try {
if (fbUser != null
&& parseUser != null
&& fbUser.getName()
.length() > 0) {
// Facebook user data
String fbId = fbUser.getId();
} else {
// Facebook user not logged in
}
} catch (Exception e) {
e.printStackTrace();
stopLoading();
}
}
}).executeAsync();
关于android - 如何从 ParseUser 检索 authData?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30811734/