Google Ближайшие места Android - необходимо применить ограничения - PullRequest
0 голосов
/ 07 января 2019

Я хотел показать близлежащие места в моем приложении для Android, которое, по моему пониманию, поддерживается только Google Places API , а не Places SDK для Android . Я выбрал Google Places API и добавил то же самое в свое приложение для Android. Я хочу ограничить использование API только вызовами API, поступающими через приложение Android. Однако, поскольку он выполняется как обычный запрос GET через мобильное приложение, я не могу ограничить его с помощью опции Android App в моих ограничениях Google API, предоставив SHA-1 и пространство имен приложения для Android. Какой другой выход?

1 Ответ

0 голосов
/ 07 января 2019

Вы используете веб-сервис API Адресов. Обычно предполагается, что веб-службы API Карт Google вызываются с внутренних серверов и поддерживают только ограничения IP-адресов.

Вы можете прочитать об ограничениях, которые могут быть установлены для различных API, на

https://developers.google.com/maps/faq#keysystem

Как видите, веб-служба API Адресов может использовать только ограничение IP-адресов. Поскольку вы отправляете запросы напрямую с мобильных устройств, это не имеет особого смысла. Каждое устройство имеет свой собственный IP-адрес, и вы не знаете IP-адреса устройств. Таким образом, единственный возможный обходной путь для защиты ключа API - это создание промежуточного внутреннего сервера.

Приложение должно отправить запрос на ваш промежуточный сервер с соответствующей аутентификацией, ваш промежуточный внутренний сервер должен отправить запрос в Google с защищенным ключом API, ограниченным IP-адресом вашего сервера, и результатами прокси-сервера обратно в ваше приложение.

В этом случае вам понадобятся два ключа API. Один для Google Maps Android SDK с ограничением приложения Android, а другой для веб-службы API Адресов с ограничением IP-адреса.

Надеюсь, это поможет!

...