WgApiClient

Client for working with an Wargaming.net Public API

License

License

Categories

Categories

CLI User Interface
GroupId

GroupId

io.github.divinator.wgapi
ArtifactId

ArtifactId

wgapi-client
Last Version

Last Version

2.0.0
Release Date

Release Date

Type

Type

jar
Description

Description

WgApiClient
Client for working with an Wargaming.net Public API
Project URL

Project URL

https://github.com/DIVINATOR/wgapi

Download wgapi-client

How to add to project

<!-- https://jarcasting.com/artifacts/io.github.divinator.wgapi/wgapi-client/ -->
<dependency>
    <groupId>io.github.divinator.wgapi</groupId>
    <artifactId>wgapi-client</artifactId>
    <version>2.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/io.github.divinator.wgapi/wgapi-client/
implementation 'io.github.divinator.wgapi:wgapi-client:2.0.0'
// https://jarcasting.com/artifacts/io.github.divinator.wgapi/wgapi-client/
implementation ("io.github.divinator.wgapi:wgapi-client:2.0.0")
'io.github.divinator.wgapi:wgapi-client:jar:2.0.0'
<dependency org="io.github.divinator.wgapi" name="wgapi-client" rev="2.0.0">
  <artifact name="wgapi-client" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.github.divinator.wgapi', module='wgapi-client', version='2.0.0')
)
libraryDependencies += "io.github.divinator.wgapi" % "wgapi-client" % "2.0.0"
[io.github.divinator.wgapi/wgapi-client "2.0.0"]

Dependencies

compile (2)

Group / Artifact Type Version
org.apache.httpcomponents : httpclient jar 4.5.12
com.google.code.gson : gson jar 2.8.6

Project Modules

There are no modules declared in this project.

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.wgapi</groupId>.                                     
  <artifactId>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.

Versions

Version
2.0.0
1.0.0