2013-03-29 3 views
0

Я разрабатываю приложение для Android, которое использует API Places для извлечения информации и отображения ее на карте. Первоначальный запрос на изъятие мест не выполняется с сообщением о статусе ACCESS_DENIED из HTTP-запроса. Ниже приведен код, который я использовал для создания запроса:ACCESS_DENIED Статус from Places API

try { 

HttpRequestFactory httpRequestFactory = createRequestFactory(HTTP_TRANSPORT); 
     HttpRequest request = httpRequestFactory 
       .buildGetRequest(new GenericUrl(PLACES_SEARCH_URL)); 
     request.getUrl().put("key", API_KEY); 
     request.getUrl().put("location", _latitude + "," + _longitude); 
     request.getUrl().put("radius", _radius); // in meters 
     request.getUrl().put("sensor", "false"); 
     if(types != null) 
      request.getUrl().put("types", types); 

     PlacesList list = request.execute().parseAs(PlacesList.class); 
     // Check log cat for places response status 
     Log.d("Places Status", "" + list.status); 
     return list; 

В другой StackOverflow проводки кто-то предположил, что плакат попробовать следующее, чтобы проверить их ключи:

Перейти к консоли апи здесь, затем к УСЛУГАМ. Нажмите «Активные службы» и убедитесь, что «API мест» включен. Нажать на ? «попробуйте» ссылку рядом с ней. Он должен создать правильный URL с вашим ключом, который должен работать . Сравните ссылку, которую вы пытаетесь сопоставить с этим URL-адресом для различий.

Я следовал этим инструкциям. Исходя из того, что я получил следующие результаты, когда я нажал на кнопку? «попробовать» ссылку я подозреваю, что-то в корне неправильно с API Key независимо от кода ... в противном случае я думаю, я хотел бы получить УСПЕХ, а не REQUEST_DENIED:

{ 
    "html_attributions" : [], 
    "results" : [], 
    "status" : "REQUEST_DENIED" 
} 

Я получил мой ключ, введя SHA1 моего отладочного сертификата (который я получил с помощью Keytool со всеми соответствующими параметрами ... например, androiddebugkey .... debug.keystore), за которым следует «;» и имя пакета приложения.

Не уверен, в чем проблема ... Я уверен, что это что-то простое, но я не вижу его, и я застрял. Мысли?

+0

Итак, как вы можете видеть, я решил свою проблему, и я опубликовал, как я ее разрешил. Однако я не уверен, что в конечном итоге создало проблему в первую очередь. Я хотел бы понять, что вызвало «проблему», чтобы я и другие могли избежать проблемы в будущем. – user2101068

ответ

0

Я никогда не получал ответа на эту публикацию, поэтому в конечном счете я решил проблему, создав новый ключ под новым именем проекта, и я, по крайней мере, смог извлечь места из Google. У меня все еще есть проблемы с населением карты, но это может быть проблема с кодом.

Я заметил, что ключ, который я использовал, дал мне результаты ACCESS DENIED, имел название: «Ключ для Android-приложений (с сертификатами)», и у него был ярлык «Приложения для Android», перечисленные как раз под фактическим ключ. Ключевым значением является значение SHA1 ";" а затем имя пакета. В то время как ключ, который я создал под новым именем проекта (Places API), который в конечном итоге работал, имел название: «Ключ для приложений браузера (с рефери)», и у него был ярлык «Referers:» и значение «Any referer allowed» ,

Таким образом, в этих двух ключах есть что-то другое. Я не уверен, что я сделал по-другому, когда я сгенерировал ключи. Я хотел бы понять, что я сделал, чтобы генерировать эти два «разных» типа ключей, чтобы я и, возможно, другие не повторяли свою «ошибку».

Существует много ссылок на создание ключей в документации Google. Тот факт, что есть столько сообщений о проблемах с ключами, говорит мне, что документация Google не очень понятна, иначе многие проблемы не будут существовать в этой теме.