Android Facebook应用程序:访问令牌过期(expires_in)始终为0

我正在开发一个使用Facebook集成的应用程序。 我试图从facebook库类中接收access_token和expires_in标记。 一旦我login,我正确地得到access_token,但我总是得到expires_in令牌总是0.因此,我isSessionValid()方法总是返回false。 请让我知道是否有人遇到了这个问题,并解决了这个问题。

我的代码运行得很好,当我没有在模拟器中安装的Facebook应用程序。 我得到的Web视图,我可以login和更新状态。 但是当我安装Facebook应用程序,点击更新状态菜单选项打开Facebook应用程序,我redirect到权限页,然后我得到一个错误,说“无法接收访问令牌”。 这实际上是因为expires_in令牌为0。

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

谢谢,
PUNIT

Solutions Collecting From Web of "Android Facebook应用程序:访问令牌过期(expires_in)始终为0"

如果您将权限设置为offline_access ,则令牌到期时间为0。

对于任何其他人有这个问题(如果你已经把offline_access权限,并稍后删除)请按照下列步骤:

  • 转到您的Facebookconfiguration文件设置,并删除您的应用程序。
  • 然后再次login。
  • 再次授予您的应用程序。

或者你可以这样做:

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

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