我已将Session更改为Access Token但无法解析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();
}
答案 0 :(得分:1)
使用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;
}
}