В этом руководстве я буду использовать Riot API, чтобы показать, как создать приложение, подобное op.gg.

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

Что такое Riot Games API?

Riot Games API - это REST API, предоставляемый разработчиками данными для создания наших собственных приложений или веб-сайтов. В настоящее время все API League of Legends имеют версию 4 (обновлено 19.03.2020). Начиная с этой версии, они больше не включают второстепенную версию в путь API.

Ниже приведены некоторые данные, которые вы можете получить из Riot Games API:

  • Статус услуги.
  • Детали призывателя: имя, уровень, значок профиля, идентификаторы учетных записей.
  • История матчей и подробности матчей и хронология по имени призывателя.
  • Текущая информация о чьей-то игре, если кто-то присутствует в игре.
  • Дополнительную информацию смотрите в документации по API.

Начало работы с ключом Riot API

Вам всегда понадобится ключ для доступа к Riot Games API. Поговорим о том, как получить ключ API.

Во-первых, используйте свою учетную запись Riot для входа на Портал разработчиков Riot. Это аккаунт каждый раз, когда вы играете в league of legends.

В вашем Dashboard есть DEVELOPMENT API KEY. Помните, что срок действия ключа истекает через 24 часа. Не сообщайте никому свой ключ API. Если вы получаете ответ 403 от Riot API, вероятно, вам просто нужно обновить ключ.

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

Помните, сколько запросов вы отправляете, поскольку для ключа API разработки и личного ключа продукта существует ограничение:

  • 20 запросов каждую 1 секунду
  • 100 запросов каждые 2 минуты

Если вы зарегистрируете рабочий API-ключ, его будет намного сложнее зарегистрировать. Шапка такая:

  • 3000 запросов каждые 10 секунд
  • 180 000 запросов каждые 10 минут

Выполнив все вышеперечисленные требования, вы должны получить ключ API разработки. Попробуем взглянуть на аккаунт Doublelift Riot. Используйте свой ключ API для тестирования Riot API с помощью доступа:

https://na1.api.riotgames.com/lol/summoner/v4/summoners/by-name/Doublelift?api_key=RGAPI-YOUR-API-KEY

Результат должен быть таким:

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

Кроме того, идентификаторы Summoner и учетной записи уникальны только для каждого региона, а идентификаторы PUUID уникальны во всем мире.

Установить riotwatcher

Если вы ищете riot api или league of legends api в Google, вы можете использовать множество библиотек. Вот список Библиотек Riot API. Многие из них не поддерживаются в хорошем состоянии, поскольку вы знаете, что Riot обновил свою версию API до V4 и отказался от всех старых версий.

Здесь я использую библиотеку Python под названием Riot-Watcher. Для начала можно легко запустить

pip3 install riotwatcher

Чтобы увидеть такую ​​информацию об учетной записи, мы просто попробуем по URL:

Информация о рейтинге доступа

Мы также можем получить информацию о рейтинге, используя одну строку:

Доступ к данным о матчах

Например, мы хотим получить информацию о последней игре.

Затем сравните с данными op.gg. У нас есть точные данные, но их трудно прочитать. Нам нужен доступ к Champion и другим статическим данным.

Доступ к Data Dragon

Теперь мы получаем только идентификатор каждого чемпиона. Нам нужно знать названия каждого из них для лучшего понимания.

Из Data Dragon вы можете получить все статические информационные данные для League of Legend.

После запуска кода мы получили что-то вроде этого.

Кроме того, в Data Dragon можно будет получить информацию о заклинаниях, рунах и предметах. Теперь вы почти получили все данные, необходимые для создания такого приложения, как op.gg.

Определение позиций чемпиона

Если вы распечатаете последнюю информацию об игре. Вы можете заметить, что информация о местоположении немного отличается от той, что мы получили от op.gg.

‘role’: ‘DUO_CARRY’,
‘lane’: ‘BOTTOM’

Вы можете построить карту, чтобы обозначить позицию каждого чемпиона.

  • (MID_LANE, SOLO): СРЕДНЯЯ
  • (TOP_LANE, SOLO): TOP
  • (ДЖУНГЛИ, НЕТ): ДЖУНГЛИ
  • (BOT_LANE, DUO_CARRY): ВНИЗ
  • (BOT_LANE, DUO_SUPPORT): УТИЛИТА

Что дальше

Теперь вы узнали, что такое Riot Games API, и успешно использовали python для извлечения первых битов данных из API. И это почти все данные для построения op.gg.

Riot API также обеспечивает доступ к данным клиента в реальном времени и данным воспроизведения. Я планирую поговорить о том, как создать базовый сценарий живого клиента, который предоставит вам информацию о вашей текущей игре. Если у вас есть вопросы, задавайте их ниже.

Выучить больше

  • Вы можете получить всю информацию о чемпионах, предметах и ​​многом другом на DataDragon.
  • Разработчик Riot канал раздора.