Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Yandex Locator
  • Начало работы
  • Как определяется местоположение
  • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • Обработка ошибок
    • Обзор
    • Locator
      • Обзор
      • getLocation
  1. Начало работы

Как начать работать c Locator

  • Перед началом
  • Определите местоположение устройства

Этот раздел описывает, как определить местоположение устройства с помощью Locator API.

Перед началом

  1. Получите идентификатор каталога, на который у вас есть роль editor или выше. Подробнее о необходимых ролях в разделе Управление доступом.

    Если каталога еще нет, создайте его:

    1. На стартовой странице консоли управления нажмите кнопку Создать каталог.

    2. Введите имя каталога.

      • Длина — от 3 до 63 символов.
      • Может содержать строчные буквы латинского алфавита, цифры и дефисы.
      • Первый символ — буква. Последний символ — не дефис.
    3. Выберите опцию Создать сеть по умолчанию. Будет создана сеть с подсетями в каждой зоне доступности.

    4. Нажмите кнопку Создать.

  2. Получите IAM-токен, необходимый для аутентификации (чтобы получить IAM-токен для сервисного аккаунта, воспользуйтесь другой инструкцией):

    CLI
    API
    $ yc iam create-token
    
    1. Войдите в ваш аккаунт на Яндексе или Яндекс.Коннекте.

    2. Получите OAuth-токен в сервисе Яндекс.OAuth. Для этого перейдите по ссылке, нажмите Разрешить и скопируйте полученный OAuth-токен.

    3. Обменяйте OAuth-токен на IAM-токен:

      • с помощью curl в Bash или CMD:

        curl -d "{\"yandexPassportOauthToken\":\"<OAuth-token>\"}" "https://iam.api.cloud.yandex.net/iam/v1/tokens"
        
      • с помощью встроенной функции в PowerShell:

        $yandexPassportOauthToken = "<OAuth-Token>"
        $Body = @{ yandexPassportOauthToken = "$yandexPassportOauthToken" } | ConvertTo-Json -Compress
        Invoke-RestMethod -Method 'POST' -Uri 'https://iam.api.cloud.yandex.net/iam/v1/tokens' -Body $Body -ContentType 'Application/json' | Select-Object -ExpandProperty iamToken
        
  3. Убедитесь, что у вас установлена утилита cURL, используемая в примерах.

Определите местоположение устройства

  1. Создайте файл с телом запроса, например body.json.
    В запросе передайте всю информацию, доступную устройству:

    1. Доступные точки доступа Wi-Fi.
    2. Сигналы сетей мобильной связи.
    3. IP-адрес устройства.

    Подробное описание формата запроса смотрите в описании метода getLocation.

    body.json:

    {
        "folder_id": "b1gvmob95yysaplct532",
        "cell_towers": [{
            "mobile_country_code": 250,
            "mobile_network_code": 2,
            "cell_id": 197403650,
            "location_area_code": 9900,
            "signal_strength": -80
        }],
        "wifi_access_points": [{
            "bssid": "2CD02D814C80",
            "signal_strength": -68
        }],
        "ip":"95.108.173.231"
    }
    
  2. Отправьте запрос на распознавание с помощью метода getLocation и сохраните ответ в файл, например output.json:

    $ export IAM_TOKEN=CggaATEVAgA...
    $ curl -X POST \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer ${IAM_TOKEN}" \
        -d '@body.json' \
        https://locator.api.cloud.yandex.net/locator/v1/getLocation
    

    Если сервис успешно определит местоположение, он вернет ответ с координатами точки и радиусом погрешности:

    {
        "location": {
            "latitude": 55.743675,
            "longitude": 37.5646301,
            "precision": 701.71643
        }
    }
    

    Если местоположение определить не удалось, сервис вернет сообщение об ошибке.

В этой статье:
  • Перед началом
  • Определите местоположение устройства
Language
Вакансии
Политика конфиденциальности
Условия использования
© 2021 ООО «Яндекс.Облако»