Работа с World Of Tanks API

poisonkit

Участник
Регистрация
5 Дек 2008
Сообщения
183
Реакции
9
Есть у кого рабочий пример скрипта статистики игрока? Ну или клана - чтобы вывел список участников... Что-то разобраться с этим API не могу.
 

ykpon

Постоялец
Регистрация
8 Дек 2012
Сообщения
250
Реакции
146
Есть у кого рабочий пример скрипта статистики игрока? Ну или клана - чтобы вывел список участников... Что-то разобраться с этим API не могу.
Для просмотра ссылки Войди или Зарегистрируйся
Справа есть кнопочка "Создать запрос в API Explorer". Щелкай и будут тебе примеры. Ну и если у себя собираешься парсить где то, через php, например, то:
PHP:
<?php
$json = file_get_contents('ссылка_с_апи_и_параметрами');
$result = json_decode($json);
foreach($result as $val:(
//перебираешь массив
endforeach;
?>
 

interdividend

Создатель
Регистрация
23 Дек 2014
Сообщения
17
Реакции
2
По моему в их документации все очень хорошо расписано, делаете запрос, расшифровываете json (если ошибаюсь, поправьте) и с помощью foreach парсите его. Ну или выводите на страницу, думаю с этим у вас проблем не возникнет, ykpon выше все хорошо показал
 

Demon425

Постоялец
Регистрация
9 Июл 2008
Сообщения
471
Реакции
119
Key задаешь в конфиге, как и ID клана (можно найти на сайте ВГ в адресной строке)
PHP:
$clan_info_json = json_decode(file_get_contents('https://api.worldoftanks.ru/wgn/clans/info/?application_id='.$key_ap.'&clan_id='.$wot_clan_id.''), true);

Парсиш
PHP:
foreach ($clan_info_json['data'] as $key => $valueInfo) {
        $members_count      = $valueInfo['members_count']; //количество участников
        $updated_at         = $valueInfo['updated_at']; //данные на
        // Создаем таблицу с бойцами, выгружаем в неё данные
        $clan_member_info_json = $valueInfo['members'];
        // конвертируем дату
        $updated_at = date("d F Y, H:m", $updated_at);   
    }

Далее я делаю еще так
PHP:
// Переназначаем массиву новые ключи 0-99
    foreach ($clan_member_info_json as $item) {
        $memberArray[] = $item;
    }

Далее думаю понятно? Если нет, вот кусок:
PHP:
do
    {
        $role = $roles[$memberArray[$i]['role']];
        
$created_at = date("d-m-Y", $memberArray[$i]['joined_at']);   
     $wot_clan_mebers .= "<tr><td class=\"number t-table_number\">{$npp}</td><td class=\"name b-user\"><a href=\"/user/{$memberArray[$i]['account_name']}/\">{$memberArray[$i]['account_name']}</a></td><td class=\"role js-role\">{$role}</td><td class=\"member_since js-member-since\">{$created_at}</td></tr>";
     $i++;
     $npp++;

}
while ($i <= $max);
Естественно править под себя.
 

warg

Постоялец
Регистрация
26 Июн 2007
Сообщения
125
Реакции
139
никто не сталкивался случайно с готовым решением для вывода карт WOT ?
с АПИ понятно как работать, ищу именно готовый, хотя бы базовый скрипт,
просто нет особо времени все это мастерить
 

poisonkit

Участник
Регистрация
5 Дек 2008
Сообщения
183
Реакции
9
Все обновилось. Есть у кого исходники рабочего скрипта с API?

Я не понимаю, как вывести список всех бойцов? Есть рабочий пример?
 
Последнее редактирование модератором:

poisonkit

Участник
Регистрация
5 Дек 2008
Сообщения
183
Реакции
9
Спасибо, все нормально. Вывел просто вот таким вот способом:
Код:
  foreach($clan_member_info_json as $value)
{
echo 'Игровое имя: '.$value[account_name].' [Должность: '.$value[role_i18n].']<br>';
}

Теперь головная боль в том, что надо вывести отдельно ранги (роли), тоесть на примере: Надо вывести отдельно Офицеров по кадрам ( в массиве: role_i18n называется "role": "recruitment_officer",), вот тут что-то не выходит, а так-же посчитать сколько их.
 
Последнее редактирование:

MyxPyM

Писатель
Регистрация
30 Сен 2012
Сообщения
1
Реакции
0
Добрый день хочу апнуть данную тему, выше перепробовал всё что тут люди выкладывали так как не могу ни как вывести :(

1. members.account_name string - Имя игрока

Тут перепробовал кучу методов вывода списка людей из клана так и не получается

private.online_members - Список игроков клана c активной игровой сессией в World of Tanks.

Тут тоже получилось через APi получить access_token а вот вывести людей с активной сессией не получается
 
Сверху