Я посмотрел первые 15 "похожих вопросов" на мой вопрос, и ни один из них не решил мою проблему. Иногда я получаю сообщение об ошибке для одного и того же запроса API: «This IP, site or mobile application is not authorized to use this API key. Request received from IP address {*ip_address*}, with empty referer
». Я также искал это, и ни одно из предложенных решений не помогло в моем случае.
Моя текущая ситуация
- Я звоню
https://maps.googleapis.com/maps/api/directions/json?key=MYKEY&some_other_params
в iOS project - Я использую ключ API, который ограничен идентификатором пакета
- У меня есть список элементов (давайте назовем его элементами местоположения ), которые при нажал, я вызываю API направления, чтобы получить информацию о маршруте
- Я получаю две ошибки, которые я упомянул выше, взаимозаменяемо. Это означает, что иногда я получаю ошибку с истекшим сроком, а иногда я получаю ошибку IP. Я получаю ошибки для того же элемента местоположения.
Включены API:
- API направлений
- API геолокации
- Maps SDK для iOS
- API геокодирования
- Places API
Идентификатор пакета не является проблемой
Я знаю, что мой Bundle ID правильный, так как я использую его с другим сервисом, который является Firebase. Чтобы устранить глупую ошибку при опечатке, я скопировал тот же идентификатор пакета из моих учетных данных Firebase API. Мой ключ API для Firebase ограничен тем же идентификатором пакета и службой Firebase. Работает без проблем.
Только ограничения API
Чтобы устранить проблему идентификатора пакета, я также попытался Нет для Ограничения приложения и выбрал ограничить API. Я добавил по одному API-интерфейсы, перечисленные выше, и назвал API-адреса. Ничего не помогло, ни один API (Directions API), ни один из них.
Странная вещь в Places API
Странное поведение, которое я получаю, заключается в том, что Я создал новый ключ API, и он работал без каких-либо ограничений. Что еще более странно, я временно отключил API Адресов. Я сделал это так, как хотел «обновить» 1078 * моих API. В другой ветке я прочитал, что проблема с IP была решена путем отключения и повторного включения API Адресов. Поэтому я отключил его, но сразу не включил. Я использовал новый ключ API и, щелкая мои позиции, получаю информацию о маршруте (я получил желаемый результат).
Другие ограничения (ограничение использования и выставление счетов)
I Знайте, что речь идет не об ограничении слишком большого количества попыток использования API направлений. В документации указано, что ограничение составляет 50 запросов в секунду. Кроме того, я сделал «быстрый щелчок элементов», используя неограниченный ключ API 1066 *, и я всегда получаю информацию о маршруте. Биллинг также включен в нашем проекте, так что это не проблема.
Застрял с неограниченным ключом
Прямо сейчас мы используем неограниченный ключ, который недопустим. Интересно, почему использование неограниченного ключа работает отлично, а ограничение - нет. Я уверен, что мне не хватает конфигурации, но я перепробовал все возможные комбинации, которые я могу придумать.