无法解析方法Facebook AccessToken

时间:2016-01-24 07:35:16

标签: java android facebook parse-platform

我已将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();
        }

1 个答案:

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