appNotInstalled什么时候缺少刷新令牌?

时间:2012-05-25 12:48:32

标签: google-drive-api

最近,当我尝试访问特定于驱动器的操作时,我注意到了一种奇怪的行为。用例如下:

  • 用户安装Chrome Store应用程序
  • 用户启动应用程序,我们获得电子邮件和配置文件范围的刷新令牌
  • 用户想要将文档导出到Google云端硬盘
  • 错误消息403:返回appNotInstalled

如果用户使用我们的应用程序转到Google云端硬盘并使用我们的应用程序打开文件,则会将其重定向到新的授权对话框,该对话框会询问电子邮件,个人资料和驱动器范围。用户授予访问权限后,初始导出也可以正常工作。我的假设是,我们拥有的初始刷新令牌不再有效,即使将其交换为访问令牌也是有效的,并且刷新令牌不会过期。

在这种情况下,我们是否应该收到更具描述性的错误消息,建议我们只需将用户重定向到身份验证对话框而不是Chrome商店列表?

1 个答案:

答案 0 :(得分:1)

问题可能是您使用的是不同于您为Drive SDK注册的客户端ID /机密。

快速测试将是:

  1. 撤销您在测试帐户中申请的所有授权代币
  2. 从新标签页访问您的应用程序,它应该将您重定向到授权页面:复制您生成的网址(不批准)。
  3. 从云端硬盘访问您的应用程序,它应该将您重定向到授权页面:复制URL(不批准)。
  4. 确保2个网址完全相同(应该是这些网址),尤其是在scopeclient_id查询参数中寻找相似之处。