我想在我的安卓应用程序中显示附近的地方,据我所知,只有Google Places API支持,而Places SDK for Android不支持。我继续使用Google Places API选项,并在我的android应用程序中添加了相同的选项。我希望将API的使用限制为仅通过Android应用程序进行API调用。然而,由于它通过移动应用程序作为一个简单的GET请求,我无法通过提供Android应用程序的SHA-1和命名空间来限制它,在我的Google API限制中使用android应用程序选项。另一条出路是什么?
发布于 2019-01-07 23:16:43
您正在使用Places API web服务。通常,Google Maps APIs服务应该从后端服务器调用,并且它们只支持IP地址限制。
您可以在上了解可以为不同API设置的限制
https://developers.google.com/maps/faq#keysystem
正如您所看到的,Places API web服务只能使用IP地址限制。当您直接从移动设备发送请求时,这没有多大意义。每个设备都有自己的IP地址,您不知道设备的IP地址。因此,为了保护API密钥,唯一可行的解决方法是创建中间后端服务器。
应用程序应该发送请求到您的中间服务器与相应的身份验证,您的中间后端服务器应发送请求到Google与受保护的API密钥限制到您的服务器的IP地址和代理结果返回到您的应用程序。
在此场景中,您需要两个API密钥。一个用于Google Maps Android SDK,具有Android应用程序限制,另一个用于Places API web服务,具有IP地址限制。
我希望这能帮到你!
https://stackoverflow.com/questions/54068358
复制相似问题