Управление API-ключами Яндекс.Карт: добавление, ограничение использования, блокировка
Я застал то время, когда процесс создания Яндекс.Карты с использованием соответствующего API не подразумевал наличия персонального ключа доступа.
С некоторого же времени, политика Яндекса в отношении использования своего сервиса (Яндекс.Карт) изменилась, и теперь, чтобы сформировать карту, прежде всего необходимо получить персональный API-ключ.
Сделать это можно бесплатно (при соблюдении всех условий использования API Яндекс.Карт, подробнее с которыми можно ознакомиться в официальной справке) и как именно – рассмотрим в этом подробном посте.
Получаем первый бесплатный API-ключ для работы с Яндекс.Картами
Для того, чтобы получить первый ключ API для работы с картами, нам необходимо подключить соответствующий сервис. Процедура не сложная и состоит из нескольких шагов. Последующее же добавление (выпуск) ключей происходит на порядок проще и быстрее (об этом ниже).
1. Перейдите по этой ссылке (откроется в новом окне) и авторизуйтесь в кабинете разработчика.
2. Далее на открывшейся странице нажмите «Подключить API». Кнопка будет по центру. Справа вверху, если вы уже используете какой-то из сервисов Яндекса.

3. В открывшемся модальном окне в блоке «Карты» выберите «JavaScript API и HTTP Геокодер»

и нажмите «Подключить», где в следующем модальном окне заполните (и отправьте) форму со всеми обязательными полями (отмечены красной звёздочкой).
Если вы получаете бесплатный ключ (это мы и рассматриваем в данной статье), отмечаете в форме пункты: «В открытой» (для типа системы, в которой будет использоваться API), «В бесплатном» (для типа вашего проекта) и «Буду отображать данные на карте» (как будете использовать полученные данные).
После успешной отправки формы и появления нового окна с сообщением «API сервис подключён» жмёте на кнопку «Перейти к API».

Подключение сервиса завершено, и мы попадаем в его панель управления, где в блоке «Ключи API» уже доступен один действующий ключ, который вы можете использовать в своём проекте.

Ключи становятся активированными в течение 15 минут после их получения. Каких-либо дополнительных действий с вашей стороны при этом не требуется.
Помимо первого ключа здесь (на момент написания поста) вам доступно: удаление API-интерфейса и общая (по всем ключам) статистика по использованию API с возможностью её выгрузки (скачки) в XLS и CSV,

добавление (выпуск) новых ключей API, а также управление существующими.
Как использовать (куда вставлять), полученный API-ключ для Яндекс.Карт?
Ключ прописывается в адресе до JavaScript-файла, подключение которого выглядит примерно следующим образом:
«API-ключ» здесь вы меняете на ключ, который получили ранее, а дальше как обычно «строите» свою карту. Подробнее об этом можете почитать в отдельных наших постах.
Выпуск (добавление) дополнительных API-ключей для Яндекс.Карт
Если по какой-то из причин вам потребовался ещё один (или несколько) ключ для работы с картами, добавить новый вы можете в панели управления сервисом, в правом верхнем углу, нажатием на кнопку «Новый ключ».

В появившемся окне прописываете название ключа (необязательное действие) и жмёте «Добавить ключ»,

после чего тот появится в списке всех ключей в блоке «Ключи API».
Как ограничить использование API-ключа, полученного для работы с Яндекс.Картами на другом сайте?
Поскольку в некоторых случаях ключ можно без труда найти в исходном коде сайта и скопировать, его использование на других ресурсах можно ограничить. Сразу оговорюсь, что ограничение работает только для тарифицируемых запросов (это геокодирование, маршрутизация и панорамы Яндекса), сама же карта на другом сайте с использованием вашего ключа продолжит свою работу.
Настройка ограничения доступна в модальном окне, которое вызывается нажатием на «Изменить» в блоке каждого ключа.

Здесь нас интересуют два поля, это «Ограничение по IP-адресам» и «Ограничение по HTTP Referer» (домену). Заполняете необходимые (можно сразу оба) по примерам ниже их и сохраняете изменения нажатием на соответствующую кнопку (ОК).

Указанные ограничения начинают действовать через 15 минут после их добавления.
Как удалить API-ключ, полученный для работы с Яндекс.Картами?
Если я правильно понял, бесследно удалить ключ API нельзя, но его можно заблокировать, нажав на соответствующую ссылку, которая появляется при наведении курсора на блок с ключом.

По необходимости действие ключа можно восстановить, нажав на сменившуюся в том же месте кнопку «Разблокировать».

Это, пожалуй, всё, что я хотел бы вам сегодня рассказать.
Рекомендуем к просмотру
Как продлить (увеличить) время жизни базового (API Instagram Basic Display) ключа доступа (access_token) для API «Instagram»
[РЕШЕНО] Модуль Yandex.Maps. API-key нужен или нет?
Здравствуйте! Используем для разработки модуль yamaps, который примечателен практически полным отсутствием внятного FAQ.
Вопрос: нужен ли API-key для использования этого модуля, и если да, то куда его прописывать? В настройках нет поля, в README — ни слова об этом.
Вопрос назрел потому, что на страницах редактирования материала и создания views карты видны, а на страницах, отображаемых для пользователя — нет.
А Views к тому же выдает такое сообщение:
Notice: Undefined property: views_handler_field_node::$field_info в функции yamaps_views_plugin_style_default_map->render() (строка 383 в файле sites/all/modules/yamaps/modules/yamaps_views/handlers/yamaps_views_plugin_style_default_map.inc).
[РЕШЕНО]
Решено было использовать другой модуль, который встал и стал показывать, что надо, без ошибок. Модуль geofield_ymap
- Drupal7
- Есть вопрос
- Установка и настройка
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Как спихнуть на соседа счёт за пользование услугами Yandex Maps API или для чего IT гиганту нужен контроль качества
С 10 июня 2019 (а технически с ноября 2019), Яндекс прекратил поддержку анонимного использования сервисов JS API & HTTP Geocoder — тарифицируемые запросы к API (поиск, геокодирование, панорамы и т.д.) перестали работать. Но адекватного биллинга и трекинга запросов Яндекс — не предоставил. Если интересно как спихнуть счёт за геокодирование на гигантов рунета (перечисленных партнёров на заглавной странице сервиса), а так же — как трекинг запросов делается «по уму» — прошу под кат.
Почему появилась эта статья
Я бы не написал этот пост, если бы уважаемый valshavel не отклонил мой комментарий к статье «Как мы внедряли WebAssembly в Яндекс.Картах и почему оставили JavaScript». Там задавался вопрос «почему».
Писать в техподдержку Яндекс карт — по опыту за 10 лет — не эффективно, ощущение что там только один разработчик который тянул весь проект. На самом деле, вместо Сбербанка — золотую акцию надо было дать этому разработчику и ещё пару процентов обычных.
«Как оно работает» с JS API карт
Компания или разработчик регистрируется в личном кабинете разработчиков Яндекса. И создаёт ключ (похож на UUID). Ключ не имеет никаких настроек (Домен, лимиты и т.д.) и служит только для разделения тарификации.
На странице где требуются функции карт — вставляется JS скрипт и API ключ: (URL для «платной» версии может отличаться).
Заметили? Нет? Следите за пальцами:
- Ключ является публичным. (АЛЛО! какой нафиг биллинг по публичному API ключу?).
- На ключе отсутствуют настройки (Привязки к домену, сервису, лимиты).
- Любой может взять ваш ключ и использовать в любых целях (это не запрещено законом, вы сами его публикуете на своей странице и рандомный хеш не является объектом авторского права).
Давайте подумаем, что нужно сделать папе(не биологическому, но всё же) рунета (и тому герою-разработчику), чтобы дети не страдали:
- Одна карта — один ключ (https://www.mapbox.com/).
Ключ относится к конкретной карте. В настройках ключа прописываются разрешённые домены (не забудьте про wildcard). По ключу запрещается геокодирование через HTTP API. - Лимиты запросов.
Я не хочу попасть на деньги из-за злоумышленников. - Авторизация к ключу / Приватный ключ.
Я хочу ключ для своих сервисов которые используют геокодинг и отдельный биллинг по ним.Я не хочу чтобы джун залез в ЛК и взял мой ключ для публичной карты.
Всем добра и берегите свои ключи =)
Saved searches
Use saved searches to filter your results more quickly
Cancel Create saved search
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
PastVu / pastvu Public
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account