我已将会话更改为访问令牌,但无法解析getCurrentAccessToken和isOpened的方法
// Fetch Facebook user info if the session is active
AccessToken token = ParseFacebookUtils.getCurrentAccessToken();
if (token != null && token.isOpened()) {
makeMeRequest();
}
原代码是
// Fetch Facebook user info if the session is active
Session session = ParseFacebookUtils.getSession();
if (session != null && session.isOpened()) {
makeMeRequest();
}
}
最后,我如下进行了编辑。并且应该在ParseFacebookUtils的getSession()处使用?
// Fetch Facebook user info if the session is active
AccessToken token = AccessToken.getCurrentAccessToken();
if (token != null && token.isExpired()) {
ParseFacebookUtils.logInInBackground(token); makeMeRequest();
}
最佳答案
使用AccessToken.getCurrentAccessToken()
,并检查令牌到期。
AccessToken token = ParseFacebookUtils.getController().getCurrentAccessToken();
if (token != null && !token.isExpired())
{
// the user is logged-in with valid tocken
}
一次将有一个活动的
AccessToken
,可以由ParseFacebookUtils
库自动设置。因此,您只需检查当前令牌。这里唯一的问题是
ParseFacebookUtils.getController()
是private
,因此只需在Utils类中将其更改为public
。 public static FacebookController getController() {
synchronized (lock) {
if (controller == null) {
controller = new FacebookController();
}
return controller;
}
}