Использование ключей API с API Directions (устаревшая версия)

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

В этом руководстве показано, как создать, ограничить и использовать ваш API-ключ для платформы Google Maps.

Прежде чем начать

Прежде чем начать использовать Directions API (Legacy), вам потребуется проект с платежным аккаунтом и включенным Directions API (Legacy). Для получения дополнительной информации см. раздел «Настройка в консоли Cloud» .

Создание ключей API

Ключ API — это уникальный идентификатор, который используется для аутентификации запросов, связанных с вашим проектом, в целях использования и выставления счетов. Для работы с вашим проектом должен быть связан как минимум один ключ API.

Для создания ключа API:

Консоль

  1. Перейдите на страницу «Платформа Google Maps» > «Учетные данные» .

    Перейдите на страницу «Учетные данные».

  2. На странице «Учетные данные» нажмите «Создать учетные данные» > «Ключ API» .
    В диалоговом окне « Создан ключ API» отображается ваш недавно созданный ключ API.
  3. Нажмите «Закрыть».
    Новый ключ API указан на странице «Учетные данные» в разделе «Ключи API» .
    (Не забудьте ограничить использование ключа API перед его применением в рабочей среде.)

Облачный SDK

gcloud services api-keys create \
    --project "PROJECT" \
    --display-name "DISPLAY_NAME"

Подробнее о Google Cloud SDK , установке Cloud SDK и следующих командах можно узнать здесь:

Ограничение доступа к ключам API

Google настоятельно рекомендует ограничивать использование ваших API-ключей, разрешая доступ только к тем API, которые необходимы вашему приложению. Ограничение использования API-ключей повышает безопасность вашего приложения, защищая его от нежелательных запросов. Вы несете финансовую ответственность за расходы, возникшие в результате злоупотребления неограниченным использованием API-ключей. Для получения дополнительной информации см. раздел «Рекомендации по обеспечению безопасности API» .

Чтобы ограничить использование ключа API:

Консоль

  1. Перейдите на страницу «Платформа Google Maps» > «Учетные данные» .

    Перейдите на страницу «Учетные данные».

  2. Выберите ключ API, для которого вы хотите установить ограничение. Откроется страница свойств ключа API.
  3. В разделе «Ключевые ограничения» установите следующие ограничения:
    • Ограничения приложения:
      1. Чтобы принимать запросы от списка IP-адресов веб-серверов, которые вы предоставляете, выберите IP-адреса (веб-серверы, задания cron и т. д.) из списка ограничений приложений . Укажите один или несколько адресов IPv4 или IPv6, или подсеть, используя нотацию CIDR. IP-адреса должны совпадать с исходным адресом, который наблюдают серверы платформы Google Maps. Если вы используете трансляцию сетевых адресов (NAT) , это обычно будет соответствовать публичному IP-адресу вашей машины.
    • Ограничения API:
      1. Нажмите «Ограничить доступ» .
      2. Выберите Directions API (Legacy) из выпадающего списка «Выбрать API» . Если Directions API (Legacy) отсутствует в списке, его необходимо включить .
  4. Чтобы завершить внесение изменений, нажмите «Сохранить» .

Облачный SDK

Отобразить список существующих ключей.

gcloud services api-keys list --project="PROJECT"

Снять существующие ограничения с имеющегося ключа.

gcloud services api-keys update "projects/PROJECT/keys/KEY_ID" \
    --clear-restrictions

Установите новые ограничения для существующего ключа.

gcloud services api-keys update projects/PROJECT/locations/global/keys/KEY_ID \
    --api-target=service=directions-backend.googleapis.com
    --allowed-ips="IP_ADDRESS"

Подробнее о Google Cloud SDK , установке Cloud SDK и следующих командах можно узнать здесь:

Добавление ключа API к вашему запросу

К каждому запросу к Directions API (Legacy) необходимо прилагать ключ API. В следующем примере замените YOUR_API_KEY на свой ключ API.

https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&key= YOUR_API_KEY

Для запросов, использующих ключ API, требуется HTTPS.