GoogleDrive 7 天刷新令牌

Posted

技术标签:

【中文标题】GoogleDrive 7 天刷新令牌【英文标题】:GoogleDrive 7 days refresh token 【发布时间】:2021-12-01 02:04:23 【问题描述】:

正如文档解释的那样,谷歌驱动器刷新令牌在“测试”应用程序中 7 天后过期。

我确实有必要发布应用以获得持久令牌。

但是在文档verification requirments 中解释说,我正在做的使用可能被视为不需要发布/验证的异常。

事实上,我需要连接到我的个人谷歌驱动器以列出我网站上的文件夹和文件。只需形成我和我的网络服务器,无论如何 1 个用户。

如何继续使用持久令牌?

#更新

目前,我的项目卡住了。它似乎已在生产中移动,但我应该采取更多行动。它要求我“遵守域验证要求确保您的应用程序的域已完成 Search Console 验证过程”。该域已在搜索控制台中完全验证,但我仍然收到此消息,并且令牌仅在 7 天内有效。

【问题讨论】:

目前我正在测试以下解决方案。我会在一周内更新你们。 ***.com/questions/68296504/… 这对我不起作用 我只是尝试将范围从 googleapis.com/auth/drive.readonly 修改为 googleapis.com/auth/drive.file 。最后一个不需要验证 【参考方案1】:

验证状态和发布状态是两个不同的东西。

如果您的应用程序已设置为生产,则您只能拥有有效期超过 7 天的刷新令牌。

这并不意味着应用程序需要经过验证。

但是,某些 API 确实限制了您在未经验证的情况下可以执行的操作。例如,在应用程序通过验证之前,您不能使用 YouTube api 上传公共 youtube 视频。

如果您想拥有超过 100 个用户,那么您的应用程序也需要经过验证。

服务帐号

如果您连接到您的个人驱动器帐户,您应该考虑使用服务帐户而不是使用 Oauth2。

【讨论】:

developers.google.com/identity/protocols/oauth2#expiration 表示7天限制与“测试”模式下的项目有关 是的,我相信我的回答就是这样。 对不起 DalmTo,感谢您的建议,但不正确。目前,我的应用程序处于“生产”状态,“待审核”。我的刷新令牌仍然有 7 天的最长寿命。 您是多久前将其发送审核的?根据您请求的范围,可能需要先进行审核。 一个多月前,我请求的唯一范围是googleapis.com/auth/drive.readonly【参考方案2】:

看来我找到了解决办法!这不取决于同意屏幕验证,但取决于范围。 我刚刚查看了代码以确保只使用不需要验证的范围(例如,从 googleapis.com/auth/drive.readonly 移动到 googleapis.com/auth/drive.file)。我在同意屏幕设置中执行相同操作,现在我的刷新令牌在 7 天后仍然有效。

【讨论】:

以上是关于GoogleDrive 7 天刷新令牌的主要内容,如果未能解决你的问题,请参考以下文章

我们应该与访问令牌一起更新刷新令牌吗?

从 .NET WCF 服务将文件插入 Google Drive

如何修复 Google 令牌在 7 天后过期

JWT 令牌和刷新令牌的合理到期日期是啥?

使用访问令牌和刷新令牌保持身份验证

使用 Google Datalab,尝试从 Google Drive 导入数据