2

我今天早些时候成功地进行了 FQL 查询。现在,当我尝试进行相同的查询时,我收到以下消息。

"error_code":190,"error_msg":"验证访问令牌时出错:由于用户更改了密码,会话已失效。"

我在自己的帐户上进行查询,并且我的密码尚未更改。关于为什么会发生这种情况的任何建议?

现在我收到了这个错误。

“验证访问令牌时出错:会话与当前存储的会话不匹配。这可能是因为用户在会话创建后更改了密码,或者 Facebook 出于安全原因更改了会话。”

4

1 回答 1

2

根据以上评论,这将是这个问题。

Android 中的单点登录 (SSO) 允许用户授权您的应用程序,一旦他们完成授权,如果他们已登录 Facebook 以使用手机/平板电脑上的任何应用程序,他们将在后续访问中直接登录。

这样做的缺点是 SSO 会记住令牌,如果令牌失效(通过用户取消对应用程序的授权或更改密码或其他详细信息),它将尝试使用它。您必须特别检查这两个错误,因为“isSessionValid() 将返回 true,即使它不是。如果您发现这两个错误之一,则再次调用授权方法。

因此,在您的情况下,捕获该错误,然后调用 authorize()。

来自 Facebook 的文档:http: //developers.facebook.com/docs/mobile/android/build/#sso

于 2012-05-27T08:27:20.497 回答