【问题标题】:Google Drive SDK asking for permissionsGoogle Drive SDK 请求权限
【发布时间】:2012-08-19 11:36:02
【问题描述】:

我有一个使用 DrEdit 示例在 .NET 中创建的测试应用程序。我已将此发布到 testusers 组,以便我可以在 Chrome 网上商店中打开它。但是每次我访问它时,它都会请求权限“我的应用正在请求权限:”。

这是预期的行为还是我的 .NET 应用程序中的一个意外?

【问题讨论】:

  • 可能和this one一样的问题?
  • 不,我的问题更进一步。在已经通过谷歌认证和批准后,用户总是必须再次批准。可能是因为这一行:queryParameters.Set("approval_prompt", "force");但如果我把它排除在外,我就无法再打开文件了。
  • 每次您从 Google Drive API 请求一些 资源 或每次调用 OAuth 时,您是否都会收到 Approve Permissions 屏幕授权端点?

标签: .net oauth-2.0 google-drive-api


【解决方案1】:

通过设置approval_prompt=force,Google 完全按照他们在documentation 中指定的方式:

指示是否应重新提示用户同意。默认值为自动,因此给定用户应仅在第一次通过序列时看到给定范围集的同意页面。如果该值为 force,则即使用户之前已同意您针对给定范围的应用程序,用户也会看到一个同意页面。

因此,当您设置该值时,您不能指望其他东西。

您应该更好地寻找您遇到的其他问题的原因,而不是在不了解其后果的情况下实施一些解决方法。如果您在找到该原因时需要帮助,请随时发布一个新问题,在其中为代码的相关部分提供一些上下文,我相信有人可以帮助您。

【讨论】:

  • 是的,我已经看到了这个“选项”。但是通过删除它,您将无法再读取或写入任何文件(错误无效凭据将从 SDK 返回)。我在 chrome 商店中尝试了其他一些应用程序,它们似乎都有同样的问题。我认为这是设计使然。文档未指定可以在 Drive SDK 中更改“approval_prompt=force”。
  • 好吧,documentation 并没有说明您必须使用该参数,尽管他们在示例中使用了该参数。只要您有一个具有正确范围的有效access_token,使用该参数都应该与访问资源完全分离。
  • 没错,你会这么说!但由于某种原因,它与彼此有关。明天发个代码示例,也许google团队可以看看。
猜你喜欢
  • 1970-01-01
  • 2012-09-05
  • 2014-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多