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