我们目前正在开发基于谷歌云功能和谷歌API网关的API。
由于每个购买API访问权限的客户都应该获得自己的API密钥,我想知道是否有方法使用和API创建这些API密钥。我想实现的是,客户可以在自己的设置中请求API密钥,因此点击按钮,这会触发一个函数,生成一个密钥并在前端向客户显示。
经过很长一段时间的搜索,我没有找到任何关于如何建造它的信息。也可能是我的做法完全错误——如果是这样的话,请吐槽我,并给我一些建议!
提前感谢您的回答!
谷歌凭据无法通过程序创建,必须手动创建。
事实上,有一些东西。在测试版(1年多前(有一段时间,很快又回到了阿尔法版,并且没有记录(或者相当糟糕(
正如您在gcloud alpha命令中看到的,您可以将API密钥与CLI和API一起使用。使用此命令可以测试和发现如何使用API密钥的更多信息。
gcloud alpha services api-keys create --display-name="created by API" --log-http
小心使用
首先,我没有关于这个API的更新,它会存活下来吗?生命周期和";没有消息";从谷歌是奇怪的,请记住API可以在任何时候删除。
其次,API密钥是一个长期使用的令牌,出于安全原因,不推荐使用它。但有时,它总比什么都没有好,所以在没有其他解决方案的情况下使用它是可以接受的。否则,更喜欢OAuth。
最终,API密钥验证项目,而不是客户/用户。在API网关请求转发后,头数据中不会有它。只有项目ID(或编号,我不记得了(。因此,如果你想区分每个客户/用户,你需要创建不同的项目,并在每个项目中生成一个密钥。如果您在API网关上实现速率限制,也是一样的:配额是每个项目的,而不是每个API密钥的。