用户在 GSuite Marketplace 中安装我的云端硬盘应用后,如何获取用户凭据(刷新令牌)?

Posted

技术标签:

【中文标题】用户在 GSuite Marketplace 中安装我的云端硬盘应用后,如何获取用户凭据(刷新令牌)?【英文标题】:How do I get user credentials (refresh token) after the user installs my Drive App in the GSuite Marketplace? 【发布时间】:2020-07-20 14:21:15 【问题描述】:

我正在制作一个与 Google Drive 的“打开方式”按钮集成的服务器端 Web 应用程序。 我已经能够在 python 客户端库中使用InstalledAppFlow 获得刷新令牌(转到我的安装端点重定向用户到同意屏幕,谷歌使用 redirect_uri 将代码发送到我的服务器)并访问我想要的数据.

我现在不明白的是,在用户安装并同意我的应用在 GSuite 市场中请求的权限后,我如何获得刷新令牌? Google 是否会将信息发布到您的 OAuth2.0 客户端 ID 的重定向 URI 之一?当他使用 Google Drive 中的“打开方式”时,我是否必须再次征得用户同意并像以前一样获取刷新令牌?

我不清楚 oauth 流程如何与通过 GSuite Marketplace 安装的应用配合使用。感谢您的帮助!

【问题讨论】:

刷新令牌会自动提供给您,除非应用程序的范围发生变化,否则您无需再次向用户请求许可。你可以发布你的代码吗?您不需要请求离线访问。见here 查看documentation on refreshing access tokens @RafaGuillermo 我能够以您共享的方式获得刷新令牌。我的问题是,当用户在 Google Apps Marketplace 中访问我的应用,点击安装并在 Google 的 OAuth 同意屏幕中点击“允许”时,我可以从哪里获得刷新令牌。之后我可以看到here 我的应用程序已被授予访问该帐户的权限。但是在此之后如何获取刷新令牌然后存储它?我的意思清楚吗? 【参考方案1】:

我发现了我的问题。我要找的东西不存在。从 G-Suite 市场安装应用程序时,Google 尚未生成凭据,除非您使用服务帐户。大概您必须在用户第一次使用您的应用时自行授权。

【讨论】:

以上是关于用户在 GSuite Marketplace 中安装我的云端硬盘应用后,如何获取用户凭据(刷新令牌)?的主要内容,如果未能解决你的问题,请参考以下文章

eclipse安装hibernate插件(在线Marketplace中安装)

如何验证我的 Cloud Run 服务以访问 GSuite 用户的 gmail 消息?

Google GSuite 和自定义应用程序之间的用户同步

谷歌 OAuth2 API。检查用户是不是有两因素身份验证(不是 GSuite)

在eclipse中安装TestNG

尝试下载 GSuite 的导出。收到“OSError:目录名称无效。”当它点击名为“