如何使用NodeJS或Rest创建Google API密钥? 注意:

问题描述

我能够使用gcloud CLI做到这一点:

gcloud --project=some-project alpha services api-keys create

但是我找不到使用googleapis进行此操作的任何方法,也无法在其节点存储库google-api-nodejs-client中找到任何潜在客户。

对于上下文,我将在AWS Lambda中运行此功能

解决方法

我认为(!?)该API尚未通过APIs Explorer公开:

例如以下404个(NOT_FOUND

API=apkeys
VER=v2alpha1

curl https://www.googleapis.com/discovery/v1/apis/${API}/${VER}/rest

不幸的是,直到它存在为止(没有发现文档,并且)API客户端库无法为其自动生成SDK。

我不清楚这是政策还是疏忽。

我建议您在Google的Issue Tracker (for Cloud SDK)上缠扰Cloud SDK团队

注意:

如果将--log-http附加到(任意)gcloud命令中,它将显示该命令的基础REST调用。没有这些方法的Google提供的SDK,您可以内省API并直接编写REST调用的代码:

gcloud alpha services api-keys create ... \
--project=${PROJECT} \
--log-http

收益:

==== request start ====
uri: https://apikeys.googleapis.com/v2alpha1/projects/${PROJECT}/keys?alt=json
method: POST
== headers start ==
b'accept': b'application/json'
b'authorization': b'Bearer ya29...'
== headers end ==
== body start ==
== body end ==