Данный проект является клиентом (далее по тексту WgApiClient) для удобного получения данных из набора общедоступных методов Wargaming.net Public API, которые предоставляют доступ к проектам Wargaming.net, включая игровой контент, статистику игроков, данные энциклопедии и многое другое.
Перед началом работы с Wargaming.net Public API, ознакомьтесь с условиями использования и документацией. Далее вам необходимо зарегистрировать приложение.
Для регистрации необходимо:
- Войти в кабинет разработчика
- Перейти в раздел "Мои приложения"
- Нажать "Добавить приложение" (На экране появится форма для регистрации приложения).
- Выбрать тип приложения. См. Типы приложений.
- Ввести название приложения (Когда произведён вход в приложение, его название будет отображено на странице «Сеансы» в «Личном кабинете» пользователя).
- Нажать "Добавить приложение" (На экране появится список добавленных приложений).
- После успешной регистрации приложения вы получите идентификатор приложения (Далее по тесту "application_id"), который является идентификатором вашего приложения для обращения к API.
Для получения контента WG Public API регистрация приложения является обязательной. См. Использование application_id.
WgApiClient использует:
- Apache HttpComponents версии 4.5.12
- Gson версии 2.8.6
Документация проекта доступна тут.
Добавить в файл "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.
- Сергей "DIVINATOR" - Начальный этап работы - WgApiClient
Также представлен список участников в этом проекте.
Этот проект лицензируется в соответствии с лицензией Apache — подробности см. в файле LICENSE.