【问题标题】:How to get offline access in google api without prompting the user如何在不提示用户的情况下在google api中获得离线访问
【发布时间】:2017-04-25 18:34:03
【问题描述】:

我通过我的谷歌应用从用户那里获得了基本的个人资料信息许可。现在我在 api 调用中新添加了“access_type=offline”。它将在同意屏幕中提示用户,例如“具有离线访问权限”。我如何避免此屏幕并在未经同意屏幕的情况下自动获得用户的离线访问。

我的 api 调用:

https://accounts.google.com/o/oauth2/auth?client_id=CLIENTID&redirect_uri=REDIRECTURI&scope=email+profile+https://www.googleapis.com/auth/drive.readonly&response_type=code&access_type=offline&state=12345678909876543

在上面的网址中,我新添加了 access_type=offline。因此它会显示一个同意屏幕,例如“具有离线访问权限”。当用户从他们的帐户中单击我的谷歌应用程序时,帮助我在不提示同意屏幕的情况下从用户那里获得离线访问权限。?

提前致谢。

【问题讨论】:

  • 您想在未经用户同意的情况下访问用户的 Google 资源???希望很明显为什么这是不可能的。

标签: google-app-engine oauth-2.0 google-oauth google-apps google-apps-marketplace


【解决方案1】:

未经用户同意,无法离线访问。

但也许您不需要离线访问。当您有管理员通过 gsuite 市场安装您的应用程序时,您可以使用服务帐户通过模拟在用户驱动器中执行操作。 这样您就不需要域中的每个用户都给予同意。

请注意,您不能将服务帐户用于所有事情。例如:您不能冒充用户然后调用 appscript 脚本。

【讨论】:

  • 谢谢亚历克斯。我不需要管理员设置,因为我不会将我的应用程序作为域范围的应用程序发布。我将发布一个应用程序,该应用程序在安装时从用户那里获得谷歌驱动器许可,并将 refreshtoken 保存在 myside 中。一段时间后,如果用户想通过我的产品网站将报告数据以 pdf 格式发送到他的谷歌驱动器,我使用该刷新令牌并离线创建访问令牌并将其发送到用户驱动器。这就是我需要离线访问的原因。
猜你喜欢
  • 2011-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-05
相关资源
最近更新 更多