Android FQL查询错误

Android FQL查询错误,android,facebook,Android,Facebook,今天早些时候,我成功地进行了FQL查询。现在,当我尝试进行相同的查询时,我得到以下消息 “错误代码”:190,“错误消息”:“验证访问令牌时出错:由于用户更改了密码,会话已无效。” 我是用我自己的帐户进行查询的,我的密码没有更改。有没有关于为什么会发生这种情况的建议 现在我得到了这个错误 “验证访问令牌时出错:会话与当前存储的会话不匹配。这可能是因为用户在创建会话后更改了密码,或者Facebook出于安全原因更改了会话。”基于上述评论,这将是一个问题 Android中的单点登录(SSO)允许用户

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

“错误代码”:190,“错误消息”:“验证访问令牌时出错:由于用户更改了密码,会话已无效。”

我是用我自己的帐户进行查询的,我的密码没有更改。有没有关于为什么会发生这种情况的建议

现在我得到了这个错误


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

基于上述评论,这将是一个问题

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

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

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


来自Facebook的文档:

只需注销并为自己获取一个新的会话令牌。这样做有效吗?(您仍然需要为无效的会话令牌编程)我尝试注销,然后重新登录,但似乎不起作用。您可能有一个Javascript登录来使用Cookie,php登录来不使用Cookie,或者类似的东西。一些代码可能有助于诊断?这是在android上,我使用的是FacebookSDKSorry-我在跟踪这两个标记(Facebook+php),但没有检查它是哪一个。”facebook.isSessionValid()“即使在上述情况下也可以返回true(在文档中)。因此,如果您遇到这些错误,只需再次调用“授权”并处理回拨。您是否尝试过再次授权,然后获得新的访问令牌?感谢详细的回答,我已将此添加到代码中,现在应该可以正常工作了。