当前位置:  开发笔记 > 编程语言 > 正文

如何在没有Application Default Credentials或Cloud SDK的情况下对Google Cloud API进行身份验证?

如何解决《如何在没有ApplicationDefaultCredentials或CloudSDK的情况下对GoogleCloudAPI进行身份验证?》经验,为你挑选了1个好方法。

我正在尝试从AWS Lambda函数访问Google Cloud API,但我不知道如何进行身份验证.Google云端文档(https://cloud.google.com/docs/authentication)中的身份验证指南要求我下载凭据JSON文件并使用应用程序默认凭据,但是任何使用过托管函数的人都已经知道了是您不需要管理服务器或运行时环境,因此Lambda不允许我在运行代码的环境中存储任意文件.

我可以在本地使用Cloud SDK来获取访问令牌,但它会过期,所以我不能在我的函数中使用它作为永久解决方案.

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



1> Mohamed Fakh..:

我发现如何硬编码凭证而无需将它们保存在JSON文件中.这是在这里的文件:

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

下面是一个调用Language 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];
});


实际上对我有用的是将它添加到ImageAnnoatorClient.将其添加到视觉要求中说"需要不是一个功能":var vision = require('@ google-cloud/vision'); //创建客户端const client = new vision.ImageAnnotatorClient({projectId:config.projectId,credentials:{client_email:config.clientEmail,private_key:config.privateKey}});
推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有