问题描述
我能够使用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 ==