Почему мой ключ API Google ломается после 100 запросов - PullRequest
0 голосов
/ 07 февраля 2020

Я проверяю адреса, чтобы убедиться, что они существуют. Я использую Google API, чтобы сделать это. У меня есть ключ API Google, и он отлично работает .... пока у меня go больше 100. По запросу 110 я получаю это

{
  candidates: [],
  error_message: 'You must use an API key to authenticate each request to Google Maps Platform APIs. For additional information, please refer to http://g.co/dev/maps-no-account',
  status: 'REQUEST_DENIED'
}

Все, что я делаю, - это циклический просмотр списка адресов. Это работает отлично до тех пор. И это всегда в одной и той же точке.

Я пытался замедлить его (думая, что слишком быстро выполняю слишком много запросов), обернув его за некоторое время l oop и выполняя только 50 за время, но все это замедляет его, но все равно дает сбой ровно на 110.

Есть идеи, почему, как или как это исправить? Это неоплачиваемый ключ API, если это помогает (интересно, если у них есть лимит запросов, я не могу найти что-то, что они делают)

Ответы [ 3 ]

1 голос
/ 07 февраля 2020

Хотя наиболее вероятно, что вы достигли квоты, разрешенной для учетной записи без биллинга, код состояния должен иметь значение "OVER_QUERY_LIMIT", которое указывает, что вы превысили квоту, а не "REQUEST_DENIED", которую вы получаете.

https://developers.google.com/maps/documentation/geocoding/intro#StatusCodes

Далее на той же странице у вас есть предложение относительно вероятной причины:

"REQUEST_DENIED" указывает, что запрос был отклонен. Возможно, потому что запрос> включает параметр result_type или location_type, но не включает> ключ API или идентификатор клиента.

0 голосов
/ 20 февраля 2020

Оказалось, что один из параметров, которые я посылал, имел специальный символ, который нарушал его. Я распечатал URL перед отправкой, чтобы посмотреть, что происходит.

TLDR должен был использовать encodeURIComponent для адресов, которые я отправлял, перед отправкой

0 голосов
/ 07 февраля 2020

Вы должны настроить платежный аккаунт.

...