【发布时间】:2018-09-24 15:36:47
【问题描述】:
我为需要地图和当前位置信息的 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 key?
【问题讨论】:
-
不是答案,但我在 Android 应用程序中使用了自动完成功能,但我没有进行实际的 HTTP REST 调用。相反,我使用了 Android 自动完成小部件。您确定可以在 Android 设备上以这种方式使用 API 吗?
-
是的,这都是工作代码。最近我更新为使用最新的位置 API。更新后,我遇到了这个问题。
-
问题:如果您将该 URL 转储到 Web 浏览器(已填写占位符),您会得到什么响应?另外,除了升级 API 级别之外,您还记得更改了其他任何内容吗?
-
我收到与“此 API 项目无权使用此 API 的授权。我尝试使用另一个不受限制的 API 密钥。我收到相同的错误。