Google API: разница между ключом браузера и клавишей Android?

Я пытаюсь использовать API календаря Google, и я создал ключ API браузера, который, похоже, работает. Но в консоли API у меня также есть возможность генерировать ключ Android API. Какая разница между двумя? Могу ли я использовать ключ браузера в приложении для Android?

Я не уверен, что это будет работать, чтобы использовать ключ браузера в приложении для Android, но на самом деле это не имеет смысла.

В документах Google API :

Консоль позволяет вам создавать ключи API для серверов, браузера, Android и iOS. Как только вы создали ключ, вы ограничиваете его использование. Доступные ограничения зависят от типа ключа.

  • Ключи сервера могут быть ограничены на основе IP-адресов (ов) вашего сервера.
  • Клавиши браузера могут быть ограничены на основе HTTP-реферера.
  • Ключи Android можно ограничить на основе имени пакета и сертификата SHA-1.
  • Ключи iOS могут быть ограничены на основе идентификатора пакета.

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

Также:

Таким образом, ваш проект может иметь серверные компоненты в сочетании с браузером и / или мобильными компонентами, не опасаясь подвергать риску ваш сервер (ы), если ключ браузера или мобильный ключ взломаны.

Если вы используете два разных ключа, это позволяет вам убедиться, что кто-то скомпрометирован, а другие нет. Это обеспечивает лучшую безопасность для вас.

Разница очень хорошо объясняется @ hichris123. Однако для второй части вашего вопроса я хотел бы сказать вам, что в идеале вы не должны использовать ключ браузера в приложении Android.

Но в нескольких сценариях, например, при использовании места api в android, вам придется использовать ключ браузера, а не андроид-ключ, поскольку API-интерфейс Place API поддерживает только ключ браузера или ключ сервера. Он не поддерживает андроид или ключ IOS. И если вы попытаетесь использовать ключ Android, API даст вам сообщение об ошибке:

«Это IP-адрес, сайт или мобильное приложение не имеют права использовать этот ключ API. Запрос, полученный с IP-адреса 203.145.175.4, с пустым ссылочным номером»

Итак, в приведенном выше случае вам придется использовать ключ браузера в своем приложении для Android.