【问题标题】:How to add credentials for googleapiclient on AppEngine如何在 AppEngine 上为 googleapiclient 添加凭据
【发布时间】:2023-03-20 20:02:01
【问题描述】:

我正在通过关注this tutorial 使用 Python Google API 客户端。通过下载凭证 JSON 并运行 export GOOGLE_APPLICATION_CREDENTIALS="[PATH]",我能够在本地运行 API。现在,我想将使用 API 的应用程序部署到 AppEngine。我该怎么做?我是否必须以某种方式在我的 AppEngine 机器上下载 JSON 并通过app.yaml 运行export

【问题讨论】:

    标签: python google-app-engine flask google-cloud-platform credentials


    【解决方案1】:

    将 JSON 文件放在您的应用程序目录中,它将作为您应用程序的一部分部署到 GAE。然后,您可以在您的应用程序中仅使用文件路径(相对于您的 app.yaml 文件)引用它。最简单的方法是把它放在你的 app.yaml 文件旁边,只用文件名引用它,没有文件路径。

    引用它的确切方式可能取决于您的应用使用的 GAE 环境和运行时(您没有提及),通过 app.yaml 导出 GOOGLE_APPLICATION_CREDENTIALS 可能是正确的。

    您可能需要检查应用的处理程序,并确保您不会意外地使用 JSON 文件响应正确制作的外部请求 - 您可能不希望将该文件提供给外部请求:)

    【讨论】:

    • 用repo推送json是不是太冒险了?我假设你在推送到 GitHub 时gitignore
    • @alpaca - 丹的回答是正确的。但是,我不建议在 App Engine 中存储或使用凭据文件。相反,应为 App Engine 服务帐号分配正确的权限。您编写的代码使用“ADC - 应用程序默认凭据”,如果未使用环境变量 GOOGLE_APPLICATION_CREDENTIALS,它将自动使用 App Engine 服务帐户。 cloud.google.com/appengine/docs/standard/python/access-control
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    • 2020-09-09
    • 2021-09-20
    • 2016-12-17
    • 1970-01-01
    相关资源
    最近更新 更多