gpt4 book ai didi

node.js - 在没有 JSON 文件的情况下,如何在 Heroku 上使用 Google 默认凭据?

转载 作者:搜寻专家 更新时间:2023-10-31 22:27:36 25 4
gpt4 key购买 nike

我正在寻求将 Node 应用程序部署到 Heroku,我遇到的主要挑战与 Node 的 Google 默认授权工作流有关。默认情况下,Google 会查找带有 key 的 JSON 文件,并将 GOOGLE_APPLICATION_CREDENTIALS 作为指向此 JSON 文件路径的环境变量名称。这对于本地开发来说很好,但在生产中我自然不想将这个敏感的 JSON 文件提交给源代码。 Heroku 允许您创建环境变量,但每个变量都是独立的。我需要以某种方式将这个 JSON 文件分解成单独的变量,但我不知道如何调用它们以便 Google 识别它们。

There is a similar thread on this for Ruby ,但等效项在 Node 中不起作用。

最佳答案

在使用 google translation api 时,我遇到了同样的问题。我无法引用整个 JSON 文件,因此我在 Heroku 中创建了两个 env 变量并在凭证对象中引用它们。你不能让他们孤立无援。私钥的 .replace 是一个重要的细节。您应该像在 Heroku 上那样粘贴完整的 key 。

const Translate = require('@google-cloud/translate');
const projectId = 'your project id here';

const translate = new Translate({
projectId: projectId,
credentials: {
private_key: process.env.GOOGLE_PRIVATE_KEY.replace(/\\n/g, '\n'),
client_email: process.env.GOOGLE_CLIENT_EMAIL
}
});

关于node.js - 在没有 JSON 文件的情况下,如何在 Heroku 上使用 Google 默认凭据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43405331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com