【问题标题】:How to use default credentials with DWD to access Drive/Gmail APIs如何使用 DWD 的默认凭据来访问 Drive/Gmail API
【发布时间】:2020-03-31 10:21:10
【问题描述】:

我们希望使用默认应用程序凭据(在 GCP 中运行的 Python 代码)执行域范围的委派以访问 Gmail/Drive API。这样做的主要原因是,使用默认凭据使我们无需创建/管理 gcp 服务帐户密钥(这非常敏感),而在 GCP(appengine/cloud 函数)中运行的代码可以安全地为我们处理密钥管理。

我们知道 Google 的专业服务已发布了如何访问 Admin SDK API here,但是,我们无法使用 Gmail/Drive API 进行此操作。

有谁知道这在技术上是否可行,如果可以,如何实现?

【问题讨论】:

    标签: python google-cloud-platform google-oauth gmail-api


    【解决方案1】:

    根据我从您的问题中了解到的情况,您不想使用 Service Account,而是使用一些 Application Default Credentials (ADC)

    基本上,您始终需要使用服务帐号,但如果您在 Compute Engine、Kubernetes Engine、App Engine 柔性环境或 Cloud Functions 上运行您的应用,则不需要正如HERE 所述,您需要自己创建它。

    您只需要获取项目所需的凭据,然后就可以像往常一样调用 Gmail API:

    from google.auth import compute_engine
    credentials = compute_engine.Credentials()
    
    

    【讨论】:

    • 这适用于计算引擎,您是否尝试过将这些凭据用于驱动器或 gmail API?除非凭据是从 json 密钥文件加载的,否则它们将不起作用,而我们正试图避免这种情况。
    猜你喜欢
    • 2020-08-08
    • 1970-01-01
    • 2018-09-08
    • 2020-12-22
    • 2019-01-23
    • 1970-01-01
    • 1970-01-01
    • 2018-07-16
    • 2022-01-19
    相关资源
    最近更新 更多