1

最近,我在尝试访问云端硬盘特定操作时注意到了一种奇怪的行为。用例如下:

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

如果用户使用我们的应用程序访问 Google Drive 并从那里打开一个文件,他们将被重定向到一个新的授权对话框,该对话框询问电子邮件、配置文件、驱动器范围。用户授予访问权限后,初始导出也可以正常工作。我的假设是我们拥有的初始刷新令牌不再有效,即使将其交换为访问令牌有效并且刷新令牌不会过期。

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

4

1 回答 1

1

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

一个快速的测试是:

  1. 在您的测试帐户上撤销所有已授予您的应用程序的令牌
  2. 从新标签页访问您的应用程序,它应该将您重定向到授权页面:复制您生成的 URL(不批准)。
  3. 从 Drive 访问您的应用程序,它应该将您重定向到授权页面:复制 URL(不批准)。

scope确保 2 个 URL 相同(它们应该是相同的),尤其是在和client_id查询参数中寻找相似之处。

于 2012-05-25T14:28:22.097 回答