12

我正在尝试从 AWS Lambda 函数访问 Google Cloud API,但我不知道如何进行身份验证。Google Cloud 文档 ( https://cloud.google.com/docs/authentication ) 中的身份验证指南希望我下载凭据 JSON 文件并使用应用程序默认凭据,但正如任何使用过托管函数的人都知道的那样,这一点是你不需要管理服务器或运行时环境,所以 Lambda 没有让我能够在运行代码的环境中存储任意文件。

我可以在本地使用 Cloud SDK 来获取访问令牌,但它已过期,因此我无法在我的函数中将其用作永久解决方案。

有没有一种方法可以获得访问令牌,我可以在我的代码中无限期地使用它来调用 Google Cloud API?还有其他解决方案吗?

4

1 回答 1

9

我发现了如何对凭据进行硬编码,而无需将它们保存在 JSON 文件中。它在此文档中:

https://googlecloudplatform.github.io/google-cloud-node/#/docs/language/0.7.0/guides/authentication

下面是一个调用语言 API 的示例。

var language = require('@google-cloud/language')({
  projectId: '',
  credentials: {
      client_email: '',
      private_key: '',
  }
});

language.detectEntities('Axel Foley is from Detroit').then(function(data) {
  var entities = data[0];
  var apiResponse = data[1];
});
于 2017-01-10T21:35:54.873 回答