代码之家  ›  专栏  ›  技术社区  ›  masiboo

为什么我的项目没有授权使用API密钥?

  •  1
  • masiboo  · 技术社区  · 6 年前

    我为我的android应用程序生成了需要地图和当前位置信息的API密钥。API密钥必须是好的,因为我可以访问当前位置和地图。但是当我试着code:-

     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。”, “结果”:[],

    我不知道为什么?我正在共享我的google控制台API密钥设置pictures:-

    enter image description here

    enter image description here

    enter image description here

    2 回复  |  直到 6 年前
        1
  •  0
  •   Martin Zeitler    6 年前

    为了扩展API限制,必须启用 Geocoding API

    然后可以将其指定为“API限制”(由于其他限制而需要)。

    对于 HTTPS RESTAPI访问,您可能不需要“应用程序限制”,

    因为这基本上等于web应用程序从动态IP访问API。。。

    然而 Geocoding API 需要为项目启用,并允许为密钥启用。

    如果你想要IP限制,你必须用你的应用程序调用你自己的web服务,使用静态IP。

        2
  •  0
  •   Linda Lawton - DaImTo    6 年前

    您可能还需要启用帐单帐户。