Android Facebook app:访问令牌到期(expires_in)始终为0

时间:2011-10-10 09:55:06

标签: android facebook facebook-android-sdk


我正在开发一个使用facebook集成的应用程序。我试图从facebook库类接收access_token和expires_in标记。一旦我登录,我得到access_token正确,但我总是得到expires_in标记始终为0.并且因为我isSessionValid()方法总是返回false。如果有人遇到这个问题并解决了,请告诉我。

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

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

谢谢,
PUNIT

2 个答案:

答案 0 :(得分:14)

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

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

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

或者你可以这样做:

  • 转到您的Facebook个人资料设置>应用> Your_App 并删除“随时访问我的数据”权限。
  • 保存所做的更改。
  • 重新运行 Your_App (即现在没有offline_access权限。)

答案 1 :(得分:0)

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

了解详情