我正在使用Facebook的Android SDK,我有一个问题。
所以..在登录流程中,在会话回调中我们得到图形用户和响应,我们可以从这些字段中提取适当的数据。
但我想在每次打开应用程序时获取用户详细信息。
如果用户无需在每次应用程序需要获取用户数据时登录,那么实现此目的的正确方法是什么。
signInWithFacebookButton.setReadPermissions(Arrays.asList("public_profile", "email"));
signInWithFacebookButton.setSessionStatusCallback(new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session != null && state.isOpened()) {
Request.newMeRequest(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
if (response != null && user != null) {
new ParseLoginTask(user).execute();
}
facebookProgressDialog.dismiss();
}
}).executeAsync();
} else {
facebookProgressDialog.dismiss();
}
}
});
答案 0 :(得分:0)
在新的Facebook SDK中登录更新,所以不要使用会话
会话已删除 - AccessToken,LoginManager和CallbackManager类取代并替换Session类中的功能。
访问令牌 - 您可以从缓存中加载带有SDK的AccessToken.getCurrentAccessToken,或者如果应用程序是从应用程序书签冷启动的。有关说明,请参阅Facebook登录Android,获取当前令牌。
使用SharedPreferene保存用户数据。
参考可以帮助您:
https://developers.facebook.com/docs/graph-api/using-graph-api/v2.3#reading https://developers.facebook.com/docs/graph-api/reference/user