我为我的Android应用程序生成了API密钥,该密钥需要地图和当前位置信息。 API密钥必须很好,因为我可以访问当前位置和地图。但是当我尝试以下代码时:-
public void run(){
String addressURL = "https://maps.googleapis.com/maps/api/geocode/json?latlng="
+Double.toString(lat)+","+Double.toString(lon)+"&sensor=true&key="+getString(R.string.api_key);
Log.d(Globals.TAG, "Request to = " + addressURL);
httphandler = new HttpHandler(addressURL);
httphandler.addHttpLisner(MapsActivity.this);
httphandler.sendRequest();
}
if (http.getResCode() == HttpURLConnection.HTTP_OK
|| http.getResCode() == HttpURLConnection.HTTP_ACCEPTED) {
String resp = http.getResponse();
}
我得到响应= { “ error_message”:“该API项目无权使用此API。”, “结果”:[], “状态”:“ REQUEST_DENIED” }
我不知道为什么?我正在共享我的Google控制台API密钥设置图片:-
我的API密钥设置正确吗?如何为HttpHandler使用API密钥?
答案 0 :(得分:0)
在左侧的点击库中搜索maps api。
您可能还必须启用一个计费帐户。
答案 1 :(得分:0)
为了扩展API限制,您必须先启用Geocoding API ...
然后可以将其分配为“ API限制”(由于其他限制而需要)。
对于HTTPS
REST API访问,您可能不需要“应用程序限制”,
因为这基本上等同于Web应用程序从动态IP访问API ...
尽管如此,仍需要为项目启用Geocoding API
并允许其使用密钥。
如果要限制IP,则必须使用具有静态IP的应用程序来调用自己的Web服务。