8


我正在开发一个使用 facebook 集成的应用程序。我正在尝试从 facebook 库类接收 access_token 和 expires_in 令牌。登录后,我会正确获取 access_token,但我总是得到 expires_in 令牌总是 0。因此,我的 isSessionValid() 方法总是返回 false。请让我知道是否有人遇到过这个问题并解决了它。

当我没有在模拟器中安装 Facebook 应用程序时,我的代码运行得非常好。我得到了 webview,我可以登录并更新状态。但是当我安装 Facebook 应用程序时,单击更新状态菜单选项会打开 Facebook 应用程序,我被重定向到权限页面,然后我收到一条错误消息“无法接收访问令牌”。这实际上是因为 expires_in 令牌为 0。

我不想要求应用程序的用户卸载 Facebook 应用程序(如果他们已安装)。请让我解决这个问题。

谢谢,
普尼特

4

2 回答 2

14

如果您放了权限offline_access,则令牌到期时间为 0。

对于遇到此问题的任何其他人(如果您已offline_access授予权限并随后删除),请按照以下步骤操作:

  • 转到您的 Facebook 个人资料设置并删除您的应用程序。
  • 然后再次登录。
  • 再次授予您的应用权限。

或者,您可以这样做:

  • 转到您的 facebook 个人资料设置 > 应用程序 > Your_App并删除“随时访问我的数据”权限。
  • 保存所做的更改。
  • 重新运行Your_App(即现在没有offline_access权限)。
于 2011-10-17T11:22:53.143 回答
0

您在 Facebook 上创建的应用程序中是否提到过 Key Hash?如果没有,请创建一个有效的并提及它。这通常是由于 facebook 的新更新功能而发生的,但是,旧版本的 facebook 每次都运行良好。您可以通过卸载 Facebook 应用程序上的更新来检查这一点,然后运行您的代码。它仍然可以正常工作。从这里了解更多信息

于 2011-10-10T10:21:32.637 回答