我有一个Google App Engine项目,通过Google Cloud Endpoints公开API。到目前为止,所有API /端点都使用OAuth2身份验证(和授权),这对于“真实”用户来说很好。Google云端点API密钥授权的Java注释?
现在我想公开一些旨在被机器而不是人类用户使用的新API。我希望这些端点能够使用API密钥授权。
在云控制台中,我创建了一个API密钥(API管理器/凭证)。
Google documentation使用yaml文件来配置API密钥授权。但是,我不使用yaml配置,并且它对于Java应用程序似乎并不常见。
我期望对于Java来说,将会有批注使用API密钥进行授权。但是,用于Java的Google documentation并没有提到这样的事情。
是否可以在使用注释的Java应用程序中使用API密钥?有另一种建议的方式来做到这一点?
更新: 似乎API密钥在测试版(2016年11月)的Cloud Endpoints 2.0中工作。但是,CE 2.0并不支持Google Eclipse插件,并且需要Maven(我非常不喜欢)。我没有时间重写我的项目,所以现在我已经在API中添加了一个额外的'api_key'参数,我在代码中进行检查。请注意,此参数不能称为“密钥”,因为云端点会认为这是它自己的API密钥,并通过说没有配置访问来回应。
Google Eclipse插件还没有(还)似乎有此更新?它看起来像卡住在1.9.34。或者也许我需要先更新Eclipse(仍然使用Mars 2)? – rakensi
只有新框架支持此功能,而App Engine SDK不附带此功能。您需要com.google.endpoints,endpoints-framework工件。 – saiyr
谢谢,我会试试。 – rakensi