Facebook Android SDK和会话

时间:2015-05-26 07:07:41

标签: android facebook facebook-login facebook-sdk-4.0

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

1 个答案:

答案 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