2016-01-24 59 views
2

我已经改变了会话访问令牌,但它无法解析的方法getCurrentAccessToken和isOpened无法解析方法的Facebook的accessToken

// 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(); 
     } 

回答

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; 
    } 
    } 
+0

所以我不需要使用ParseFacebookUtils?它将用户导入Parse –

+0

@SagarAtalatti检查这里看看如何使用'ParseFacebookUtils' https://github.com/ParsePlatform/ParseFacebookUtils-Android/tree/master/library/src/test/java/com/parse –

+0

你能具体在设置访问令牌自动使用ParseFacebookUtils –