针对 GMail 的个人 "Internal" 脚本 API

Personal "Internal" Script against GMail API

这让我发疯。

我有一个简单的 Python 脚本可以使用 Google 邮件 API.

针对我的个人 GMail 进行一些邮件管理

我似乎可以让它工作的唯一方法是将其保持在“测试”状态并每 7 天刷新一次令牌。

在 API 管理页面上,我尝试将其设为内部,但我得到了这个工具提示:“因为您不是 Google Workspace 用户...”

除了我 一个 Google Workspace 用户。我有 8 美元/月 Google Workspace 个人订阅。

人们肯定会做我正在做的同样的事情,针对他们的个人电子邮件或个人日历编写一些个人脚本,这些脚本并不打算成为 public 应用程序,并且他们设法以某种方式做到这一点不需要在时间结束之前将其置于测试模式,每周重置密钥。

(我考虑过获得商业订阅——这样我就可以发布一些“内部”的东西——但不仅对于这个用例来说太贵了,我希望这个项目 运行 反对我的个人帐户,而不是针对其他一些企业帐户。)

谁能告诉我我遗漏的秘密?

根据您收到的消息,问题似乎与 gmail.com 帐户所拥有的项目有关(您可以在 IAM & Admin >> IAM 中查看所有权)。

内部项目只适用于您正在处理的领域。我记得您确实可以选择将其他域列入白名单以访问资源和 运行 它,但我不确定您是否可以使用它来将 gmail.com 域列入白名单。

如果您想将其保留为内部,我建议将项目的所有权更改为 Google Workspace 帐户并使用白名单域选项进行测试。

发生这种情况时您需要刷新访问令牌...因为您只发布了屏幕截图,所以我只能告诉您这些。但是,在查看 documentation 时,使用服务帐户(可以模拟您的用户帐户)可能会更省力,因为这些凭据不会过期。当然,有人可能会说“为单个用户使用服务帐户有点矫枉过正”——但唯一的替代方法是实现令牌刷新(就像通常为多个外部用户所做的那样)。而且只有1个内部用户,这个要求就完全作废了。