方向API请求被拒绝Android客户端
我正在尝试从android向directions api发出请求。我已经构建了我的请求url,如下所示:方向API请求被拒绝Android客户端,android,google-directions-api,map-directions,Android,Google Directions Api,Map Directions,我正在尝试从android向directions api发出请求。我已经构建了我的请求url,如下所示: https://maps.googleapis.com/maps/api/directions/json?mode=driving&transit_routing_preference=less_driving&origin=12.84938,77.6554783&destination=151,+9th+Main+Road,+HSR+Layout+Sector+6,
https://maps.googleapis.com/maps/api/directions/json?mode=driving&transit_routing_preference=less_driving&origin=12.84938,77.6554783&destination=151,+9th+Main+Road,+HSR+Layout+Sector+6,+Bengaluru,+Karnataka+560102&key=MYAPI_KEY
但是在测试端点时,我得到了以下错误:
{
"error_message" : "This IP, site or mobile application is not authorized to use this API key. Request received from IP address 223.227.127.66, with empty referer",
"routes" : [],
"status" : "REQUEST_DENIED"
}
我已经研究了其他类似的问题,其中提到了服务器键和浏览器键
。如何获取服务器密钥?它与注册方向或地图api时收到的api密钥不一样吗
谢谢您的帮助。
- 确保在Developer中应用程序限制为“无”
控制台
- 方向API需要IP限制,如果你给出
Android限制它将响应为“请求被拒绝”
- 所以您需要中间服务器,然后需要限制使用
服务器IP
- 因此,将限制设置为无。
directions web api实际上并不打算直接在移动应用程序中使用。如果只是为了好玩,您可以在应用程序中使用不安全的服务器密钥,但对于生产应用程序,您应该使用代理服务器,这将是您自己的服务器,向directions web api发送请求(您的应用程序可以查询您的服务器端点,该端点将查询directions web api,然后向您的应用程序发送结果)。更多信息请参见此处:谢谢Daniel。如果我创建了一个能够访问同一个端点的Nodejs服务器,并且我的客户端应用程序(android)向服务器提供的端点发出了一个req,它会工作吗?我的意思是这样--1。服务器——使用我的apikey向Dir API发出请求。2.客户端向服务器提供的端点发出请求---@Andromeda您找到解决方案了吗?我也面临同样的问题