我们想使用默认的应用程序凭据(在GCP中运行的python代码)来执行域范围的委派,以访问Gmail / Drive API。造成这种情况的主要原因是,使用默认凭据可以减轻我们创建/管理gcp服务帐户密钥(非常敏感)的麻烦,而在GCP中运行的代码(appengine / cloud函数)可以安全地为我们处理密钥管理。>
我们知道Google的专业服务已发布了如何访问Admin SDK API here的方法,但是,我们无法通过Gmail / Drive API来实现此功能。
有人知道这在技术上是否可行,怎么办?
答案 0 :(得分:0)
对于我从您的问题中了解到的,您不想使用Service Account,而是使用一些Application Default Credentials (ADC)。
基本上,您将始终需要使用服务帐户,但是如果您在Compute Engine,Kubernetes Engine,App Engine flexible环境或Cloud Functions上运行您的应用程序,则不会如HERE所述,您需要自己创建它。
您只需要获取项目所需的凭据,然后就可以照常调用Gmail API:
from google.auth import compute_engine
credentials = compute_engine.Credentials()