Как настроить Roads API

Разработчики из Европейской экономической зоны (ЕЭЗ)

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

Требования

В этом разделе рассказывается, как настроить аккаунт Google Cloud и облачный проект с включенными платежными функциями. Также необходимо знать, как взимается плата за использование Roads API.

  1. Проверьте счета и стоимость использования на странице Roads API Usage and Billing (Использование и цены).
  2. Убедитесь, что у вас есть аккаунт Google Cloud.

    Войдите в консоль Google Cloud.
  3. Убедитесь, что у вас есть проект Google Cloud с включенными платежными функциями.

    Перейти на страницу "Оплата"
    1. Выберите проект, чтобы открыть страницу Billing (Оплата).
    2. На странице Оплата:

      • Если для выбранного проекта уже включена оплата и у вас только один платежный аккаунт, откроется страница Оплата.
      • Если у вас несколько платежных аккаунтов, нажмите Открыть этот аккаунт. Появится страница с информацией о платежном аккаунте, связанном с проектом.
      • Если у вас есть платежный аккаунт, но он не связан с проектом, вам будет предложено связать их.
      • Если у вас нет платежного аккаунта или вы хотите создать новый, выберите Manage Billing Accounts (Управление платежными аккаунтами). Подробнее о том, как создать платежный аккаунт Cloud для самостоятельного использования…

Включение API

Прежде чем использовать Roads API, необходимо включить его в облачном проекте Google Cloud с помощью консоли Google Cloud или команды gcloud.

Чтобы включить API, выполните следующие действия:

Консоль

  1. Откройте страницу продукта в консоли Google Cloud:

    Включите Roads API
  2. Нажмите Включить.

gcloud

gcloud services enable \
    --project "PROJECT" \
    "roads.googleapis.com"

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

Получите ключ API для использования с Roads API.

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

Ключ API – это уникальная буквенно-цифровая строка, которая связывает ваш платежный аккаунт Cloud и облачный проект Google Cloud с запросом, который ваше приложение отправляет в API или SDK платформы Google Карт. Чтобы создать ключ или добавить API или SDK к существующему ключу, следуйте инструкциям ниже.

Консоль

  1. Откройте страницу Google Maps Platform > Keys & Credentials (Платформа Google Карт > Ключи и учетные данные).

    Перейти на страницу "Ключи и учетные данные"

  2. Если появится запрос, выберите проект.
  3. Выполните одно из следующих действий:

    • Создайте ключ.

      1. Нажмите Создать учетные данные > Ключ API.
      2. На панели Create API key (Создать ключ API) откройте список Select API restrictions (Выбрать ограничения API).
      3. Удалите все API, которые не нужны для этого ключа, и убедитесь, что Roads API выбран.
      4. Нажмите Создать. На панели появится новый ключ API.
    • Использовать существующий ключ:

      1. Нажмите на название ключа.
      2. В списке Select API restrictions (Выбрать ограничения API) выберите Roads API.
      3. Нажмите Сохранить.

    Выбор API не означает его включение. Убедитесь, что Roads API включен на странице библиотеки API.

  4. Чтобы посмотреть строку ключа позже, перейдите на страницу Ключи и учетные данные и нажмите Показать ключ.

Если консоль выглядит иначе, чем описано в этих шагах, ознакомьтесь с разделами Создание ключа API и Добавление ограничений API в документации Google Cloud.

gcloud

В следующих командах замените PROJECT_ID идентификатором своего проекта.

  • Создайте новый ключ. Выполните следующую команду, заменив DISPLAY_NAME на название ключа.

    gcloud services api-keys create \
        --project="PROJECT_ID" \
        --display-name="DISPLAY_NAME" \
        --api-target=service=roads.googleapis.com

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

  • Использовать существующий ключ. Выполните следующую команду, заменив KEY_ID идентификатором ключа. Флаг --append сохраняет API, которые уже разрешены ключом. Если его не указать, команда заменит их.

    gcloud services api-keys update KEY_ID \
        --project="PROJECT_ID" \
        --append \
        --api-target=service=roads.googleapis.com

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

    Идентификатор ключа – это не строка ключа и не отображаемое название. Чтобы найти его, выполните команду gcloud services api-keys list --project="PROJECT_ID". Идентификатор – это последняя часть поля name: projects/PROJECT_NUMBER/locations/global/keys/KEY_ID.

Чтобы посмотреть строку ключа, выполните команду gcloud services api-keys get-key-string KEY_ID --project="PROJECT_ID".

Как отправить запрос к API

Выполните запрос Roads API, чтобы получить ответ JSON, в котором указанные точки привязаны к геометрии дороги. Вам необходимо включать буквенно-цифровой ключ API в каждый запрос и использовать протокол HTTPS для запросов, содержащих ключ API.

  1. Нажмите API_KEY в коде ниже, чтобы вставить буквенно-цифровую строку ключа:

    curl -L -X GET 'https://roads.googleapis.com/v1/snapToRoads?path=-35.27801%2C149.12958%7C-35.28032%2C149.12907%7C-35.28099%2C149.12929%7C-35.28144%2C149.12984%7C-35.28194%2C149.13003%7C-35.28282%2C149.12956%7C-35.28302%2C149.12881%7C-35.28473%2C149.12836&interpolate=true&key=YOUR_API_KEY'
    
  2. Нажмите на значок копирования в примере кода Нажмите на значок копирования., чтобы скопировать команду curl.
  3. Вставьте команду в окно терминала и запустите ее.

Вы получите объект JSON следующего вида:

{
  "snappedPoints": [
    {
      "location": {
        "latitude": -35.278004899930188,
        "longitude": 149.129531998742
      },
      "originalIndex": 0,
      "placeId": "ChIJr_xl0GdNFmsRsUtUbW7qABM"
    },
    {
      "location": {
        "latitude": -35.2784195,
        "longitude": 149.12946589999999
      },
      "placeId": "ChIJr_xl0GdNFmsRsUtUbW7qABM"
    },
    ...
    {
      "location": {
        "latitude": -35.284727644851415,
        "longitude": 149.12833853807396
      },
      "originalIndex": 7,
      "placeId": "ChIJtWxAZmpNFmsRlbUCkc6VtnA"
    }
  ]
}

Как применить ограничения для ключа API

Мы настоятельно рекомендуем ограничивать использование ключей API только теми API и приложениями, которым они необходимы. Ограничение ключей API повышает безопасность вашего приложения, защищая его от нежелательных запросов. Для ключей API поддерживаются два типа ограничений:

  • Ограничения API определяют, какие SDK и API можно вызывать с помощью ключа API. При создании ключа в консоли или gcloud CLI необходимо задать хотя бы одно ограничение API.
  • Ограничения для приложений определяют, какие сайты, IP-адреса или приложения могут использовать ключ API.

Подробнее о том, как ограничить использование ключей API…

Дальнейшие действия

Теперь, когда вы включили Roads API и сделали успешный запрос, ознакомьтесь с информацией о привязке к дорогам, чтобы узнать больше об использовании API.