为什么我的Facebook格式错误的访问令牌错误消息?

时间:2014-06-12 12:54:37

标签: android facebook facebook-graph-api facebook-login facebook-android-sdk

Facebook SDK版本3.14.1

我将facebook sdk最新版本与我的Android应用程序集成,我想获取用户的相册列表。使用单点登录功能。

问题场景:     1.安装的facebook。(未登录)     2.安装我的应用程序。     3.发布我的应用程序并按下facebook按钮(我自己的按钮。不是facebook的按钮)     4.输入登录详细信息并按下登录按钮     5.Retrieved访问令牌,并尝试获取专辑列表。 api返回格式错误的访问令牌。     6.按下注销。 (清除会话和访问令牌)     7.现在再次按下facebook按钮并获得新的访问令牌。现在我得到的专辑列表没有任何问题。

我都使用相同的代码登录并检索了一个令牌。为什么第一次出现格式错误的访问令牌异常?请帮我解决问题。

登录代码:

Session currentSession = Session.getActiveSession();
if (currentSession == null || (currentSession!= null && currentSession.isClosed())) {

        Session.setActiveSession(null);
        Session session = new Session(activity);

        Session.setActiveSession(session);
        currentSession = session;

      if (currentSession.getState().equals(SessionState.CREATED_TOKEN_LOADED) || 
                currentSession.getState().equals(SessionState.CREATED)) {
           openRequest = new Session.OpenRequest(activity).setCallback(statusCallback);
           openRequest.setPermissions(Arrays.asList("user_photos"));
           currentSession.openForRead(openRequest);
        } 
    } else {
        Session.openActiveSession(activity, true, statusCallback);
    }

第一次尝试获取相册时,我会得到以下回复,

网址 https://graph.facebook.com/fql?q=SELECT+display_name%2Cnamespace%2Capp_id+FROM+application+WHERE+app_id% *********** & access_token =?

响应

{
    "error": {
        "message": "Malformed access token [MY ACCESS TOKEN]",
        "type": "OAuthException",
        "code": 190
     }
} 

如果我退出并再次登录,则会获得不同的访问令牌,并且在尝试使用该访问令牌获取相册时,它会正确返回相册。

0 个答案:

没有答案