【问题标题】:Google credentials actual json instead of path to file containing json谷歌凭据实际 json 而不是包含 json 的文件的路径
【发布时间】:2018-05-26 15:49:55
【问题描述】:

我正在开发一个 Web 应用程序并且我正在使用谷歌翻译,所以我设置了环境变量 - GOOGLE_APPLICATION_CREDENTIALS 以指向包含所有密钥的 json 文件。
我想像这样编写实际的json,而不是文件路径:

有没有办法做到这一点?例子?我读到你可以用GOOGLE_CREDENTIALS 做类似的事情,但我没有找到任何关于它的文档。 谢谢。

【问题讨论】:

    标签: google-api google-cloud-platform google-oauth credentials google-authentication


    【解决方案1】:

    我相信您可以像这样设置 JSON Web 令牌 (JWT):

    const {JWT} = require('google-auth-library');
    const keys = require('./jwt.keys.json');
    
    async function main() {
      const client = new JWT(
        keys.client_email,
        null,
        keys.private_key,
        ['https://www.googleapis.com/auth/cloud-platform'],
      );
      await client.authorize();
      const url = `https://www.googleapis.com/dns/v1/projects/${keys.project_id}`;
      const res = await client.request({url});
      console.log(res.data);
    }
    
    main().catch(console.error);
    

    显然,您将定义keys 内联而不是从文件中加载。另见https://github.com/google/google-auth-library-nodejs#json-web-tokens

    【讨论】:

      【解决方案2】:

      不,没有办法将关键信息内联。即使有可能,将它们直接放入代码中也会降低代码的灵活性。

      GCP 上没有这样的 GOOGLE_CREDENTIALS 环境变量。

      【讨论】:

        猜你喜欢
        • 2021-04-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-16
        • 2015-11-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多