GeoLocation API 3 : access not configured
<p>I tried to use Google GeoLocation API to write an Android software(not web), I enabled billing and my code are listed below:</p>

<pre><code>            JSONObject holder = new JSONObject();  
        JSONArray cellarray = new JSONArray();  
        JSONArray wifiarray = new JSONArray();
        JSONObject cell = new JSONObject();
        JSONObject wifi1 = new JSONObject();
        JSONObject wifi2 = new JSONObject();
        try {
            cell.put("cellId", cid);
            cell.put("locationAreaCode", lac); 
            cell.put("mobileCountryCode", mcc);  
            cell.put("mobileNetworkCode", mnc);
            cell.put("age", 0);
            cell.put("signalStrength", -95);
            cellarray.put(cell);

            wifi1.put("macAddress", "01:23:45:67:89:AB");
            wifi1.put("signalStrength", 8);
            wifi1.put("age", 0);
            wifi1.put("signalToNoiseRatio", -65);
            wifi1.put("channel", 8);
            wifiarray.put(wifi1);

            wifi2.put("macAddress", "01:23:45:67:89:AC");
            wifi2.put("signalStrength", 4);
            wifi2.put("age", 0);
            wifiarray.put(wifi2);

            holder.put("homeMobileCountryCode", mcc);
            holder.put("homeMobileNetworkCode", mnc);
            holder.put("radioType", "gsm");
            holder.put("carrier", "T-Mobile");
            holder.put("cellTowers", cellarray);
            holder.put("wifiAccessPoints", wifiarray);


        } catch (JSONException e) {  
            e.printStackTrace();  
        }
        DefaultHttpClient client = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost("https://www.googleapis.com/geolocation/v1/geolocate?key="+API_key);
        StringEntity stringEntity = null;  

        try {  
            stringEntity = new StringEntity(holder.toString());  
            stringEntity.setContentType("application/json");

            Log.v("zf",stringEntity.getContentType().toString());

        } catch (UnsupportedEncodingException e) {  
            e.printStackTrace();  
        }

        httpPost.setEntity(stringEntity);  
        HttpResponse httpResponse = null;  
        try {
            httpResponse = client.execute(httpPost);  
        } catch (ClientProtocolException e) {  
            e.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  

        HttpEntity httpEntity = httpResponse.getEntity(); 
</code></pre>

<p>In fact I followed your document on <a href="https://developers.google.com/maps/documentation/business/geolocation/#requests" rel="nofollow">https://developers.google.com/maps/documentation/business/geolocation/#requests</a>
strictly. </p>

<p>However, the Server returns
errors:
  domain: usageLimits
  reason: accessNotConfigured
  message: access Not Configured
  code: 403
  message Access Not Configured</p>

<p>according to the latest Doc on the website below 
"If you do not have a Maps API for Business agreement covering the Geolocation API, you may use a free quota of 100 requests per day for testing and development only. "
I could use 100 request for test, I wondered why the request could not get configured.</p>

<p>Then, I tried another API---"Custom Search API" and got the same "access not configured" response.</p>

<p>I have not purchased Google Map API for Business, do I need to buy it in order to Google GeoLocation API?
Or, is my API_KEY cannot be applied on Android software?</p>

<p>I hope you could check the request Log of my project. The project Number is 89334321388.</p>

<p>Thank you!</p>
