Skip to content

DIVINATOR/wgapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java SDK для работы с Wargaming.net Public API

Данный проект является клиентом (далее по тексту WgApiClient) для удобного получения данных из набора общедоступных методов Wargaming.net Public API, которые предоставляют доступ к проектам Wargaming.net, включая игровой контент, статистику игроков, данные энциклопедии и многое другое.

Приступая к работе

Перед началом работы с Wargaming.net Public API, ознакомьтесь с условиями использования и документацией. Далее вам необходимо зарегистрировать приложение.

Для регистрации необходимо:

  1. Войти в кабинет разработчика
  2. Перейти в раздел "Мои приложения"
  3. Нажать "Добавить приложение" (На экране появится форма для регистрации приложения).
  4. Выбрать тип приложения. См. Типы приложений.
  5. Ввести название приложения (Когда произведён вход в приложение, его название будет отображено на странице «Сеансы» в «Личном кабинете» пользователя).
  6. Нажать "Добавить приложение" (На экране появится список добавленных приложений).
  7. После успешной регистрации приложения вы получите идентификатор приложения (Далее по тесту "application_id"), который является идентификатором вашего приложения для обращения к API.

Для получения контента WG Public API регистрация приложения является обязательной. См. Использование application_id.

Предварительные условия

Зависимости проэкта

WgApiClient использует:

Документация проэкта

Документация проекта доступна тут.

Установка

Можно взять от сюда: Maven

Добавить в файл "pom.xml" вашего проекта следующую зависимость:

<dependency>
  <groupId>io.github.divinator.io.github.divinator.wgapi</groupId>.                                     
  <artifactId>io.github.divinator.wgapi-client</artifactId>
  <version>2.0.0</version>
</dependency>

Использование

Доступно несколько возможностей сконструировать обьект:

  • Указать только "application_id"
WgApi wgApi = WgApiFactory.getWgApi("application_id");
  • Указать "регион" и "application_id"
WgApi wgApi = WgApiFactory.getWgApi(Region.RU, "application_id");

Указание собственного транспортного протокола возможно потребуется в случае, если работа клиента будет осуществляться через Proxy-сервер.

  • Далее необходимо инициализировать нужный "метод-блок", и у него вызвать нужный метод, с указанием параметров:
AccountsMethod methodBlock = wgApi.getMethodBlock(AccountsMethod.class);

JsonResponse<List<Account>> response = methodBlock.getListAccounts("DIVlNATOR");

List<Account> data = response.getData();

В параметры метода можно передать значение String или Parameter (последние могут быть в некоторых методах необязательными).

JsonResponse<List<Account>> response = methodBlock.getListAccounts("DIVlNATOR", new Parameter("language", "ru"));
  • Возвращаемое значение у методов "метод-блока" это JsonResponse и содержит данные типа:
    • List (Entity)
    • Map <String, (Entity)>
    • Map <String, List (Entity)>

Entity - это сущности Wargaming.net Public API (см. документацию) со своими методами.

JsonResponse содержит ответ от Wargaming Api в виде объекта сконструированного из json-формата.

response.getData();     // данные, содержащие сущности
response.getError();    // данные об ошибке, если она есть
response.getMeta();     // метаданные запроса
response.isOk();        // true если запрос корректен, в противном случае false

Далее описан процесс получения нужных данных из "Entity", на примере "AccountInformation"

  List<Account> data = response.getData();
  
  Account account = data.get(0);
          
  account.getAccountId();
  account.getNickname();

Управление версиями

Мы используем SemVer для управления версиями. Для доступных версий, см. tags.

Авторы

Также представлен список участников в этом проекте.

Лицензия

Этот проект лицензируется в соответствии с лицензией Apache — подробности см. в файле LICENSE.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages