Перейти к содержимому


Обсуждение практических вопросов использования Wargaming Public API


  • Пожалуйста, авторизируйтесь для того, чтобы ответить
Сообщений в теме: 4001

Hedeon #3981 Отправлено 08 окт 2013 - 16:17

    Старшина

  • Разработчики
  • 20751 бой
  • 567
  • [WG-A] WG-A
  • Регистрация:
    30.12.2010

Тема для обсуждения практических вопросов использования Wargaming Public API.

 

Полезные ссылки для начинающих знакомство с PAPI:

- Аутентификация методами PAPI: что это и с чем его едят.

- Как рассчитать рейтинг эффективности при помощи методов Public API?

- Использование PHP библиотеки CURL для выполнения запросов в API WG.

 

Если Вы нашли баг/недоработку то, пожалуйста, занесите информацию в наш баг-трекер.



MyxPyM #3982 Отправлено 13 апр 2020 - 22:08

    Младший сержант

  • Игроки
  • 46991 бой
  • 63
  • [-WR--] -WR--
  • Регистрация:
    28.11.2010

Народ помогите пробую через php вывести на сайте кол-во бойцов клана и кто онлайн через api перепробовал кучу кода при запросе просто пустая страница

 

пробовал вот так:

 

Цитата

$members = json_decode(file_get_contents('https:// api. ru?clanId=123&myId=456' ) ) ;

$members = $members->data->users;

foreach ($members as $key => $val) {

echo $val->name;

}

 

 


Сообщение отредактировал MyxPyM: 14 апр 2020 - 02:44


DIVlNATOR #3983 Отправлено 15 апр 2020 - 12:56

    Старшина

  • Игроки
  • 22191 бой
  • 443
  • [VSKZ] VSKZ
  • Регистрация:
    10.11.2011

Просмотр сообщенияMyxPyM (14 апр 2020 - 00:08) писал:

Народ помогите пробую через php вывести на сайте кол-во бойцов клана и кто онлайн через api перепробовал кучу кода при запросе просто пустая страница

 

пробовал вот так:

 

 

 

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'хттпс:\\api.worldoftanks.ru/wot/clans/info/?application_id=тут id приложения&clan_id=29498&access_token=тут access_token(чтобы узнать кто онлайн)');
$out = curl_exec($curl);
curl_close($curl);



 


Сообщение отредактировал DIVlNATOR: 15 апр 2020 - 13:01


XOPEK_BO_TbME #3984 Отправлено 30 май 2020 - 13:42

    Сержант

  • Игроки
  • 44461 бой
  • 118
  • [HXBBK] HXBBK
  • Регистрация:
    29.09.2010

Просмотр сообщенияDIVlNATOR (10 апр 2020 - 17:57) писал:

 

Да уж, печально. Не подскажете каким теперь образом можно добывать актуальную базу соответствия id машин их наименованиям? 


В школе есть два главных предмета: начальная военная подготовка, чтобы знать как стрелять и история, чтобы знать в кого.

XOPEK_BO_TbME #3985 Отправлено 30 май 2020 - 13:58

    Сержант

  • Игроки
  • 44461 бой
  • 118
  • [HXBBK] HXBBK
  • Регистрация:
    29.09.2010
Нашёл. Через один метод. Хоть бы написали "Метод устарел, введен новый метод" и ссылку на него :) 
В школе есть два главных предмета: начальная военная подготовка, чтобы знать как стрелять и история, чтобы знать в кого.

Sergonatos #3986 Отправлено 31 май 2020 - 22:17

    Новобранец

  • Игроки
  • 22758 боев
  • 3
  • [KYSIS] KYSIS
  • Регистрация:
    11.01.2016
Будет ли возможность получить номер последней версии игры? Или может уже есть способ? 

AlmostHuman #3987 Отправлено 03 июн 2020 - 20:45

    Ефрейтор

  • Игроки
  • 42010 боев
  • 41
  • [PRCRW] PRCRW
  • Регистрация:
    03.01.2013

Просмотр сообщенияSergonatos (01 июн 2020 - 00:17) писал:

Будет ли возможность получить номер последней версии игры? Или может уже есть способ? 

а чего вы не потыкаетесь в API, там же все наглядно и удобно и не так много:

https://developers.wargaming.net/reference/all/wot/encyclopedia/info/?application_id=ид_вашего_приложения&r_realm=ru&run=1

{

...

  data: {

...

    "game_version": "1.9"

...

  }

...

}


Сообщение отредактировал AlmostHuman: 03 июн 2020 - 20:46


Sergonatos #3988 Отправлено 04 июн 2020 - 11:27

    Новобранец

  • Игроки
  • 22758 боев
  • 3
  • [KYSIS] KYSIS
  • Регистрация:
    11.01.2016

Просмотр сообщенияAlmostHuman (03 июн 2020 - 20:45) писал:

а чего вы не потыкаетесь в API, там же все наглядно и удобно и не так много:

https://developers.wargaming.net/reference/all/wot/encyclopedia/info/?application_id=ид_вашего_приложения&r_realm=ru&run=1

{

...

  data: {

...

    "game_version": "1.9"

...

  }

...

}

тыкал. но мне надо полную версию. со всеми обновлениями. как эта 1.9.0.1358619. может есть какой то способ? через  

<update_urls>
            <value>https://wgus-wotru.w...ng.net/</value>
</update_urls>

или wgc_api.exe ?


Сообщение отредактировал Sergonatos: 04 июн 2020 - 11:31


MyFlashBack #3989 Отправлено 21 июн 2020 - 18:13

    Младший лейтенант

  • Игроки
  • 59789 боев
  • 1 403
  • [X-LOM] X-LOM
  • Регистрация:
    04.05.2011

приветствую, (я начинающий, сильно не пинать!! )))

почему не могу получить данные из статистики средний урон? что я не так делаю?

первые три нормас работают, а вот из statistics.all.avg_damage_assisted не получить

хотя в ответе на запрос он есть на developers

 

foreach($outcome['data'] as $account) {
    echo "Дата создания аккаунта:" . $account['created_at'] . "<br/>";
    echo "Личный рейтинг:" . $account['global_rating'] . "<br/>";
    echo "Время последнего боя:" . $account['last_battle_time'] . "<br/>";
    echo "Средний урон:" . $account['statistics.all.avg_damage_assisted'] . "<br/>"; <------ вот тута

 

ВСЁ, РЕШИЛ, спасибо, очень помогли.


Сообщение отредактировал MyFlashBack: 21 июн 2020 - 23:24


AnNE_DoMini #3990 Отправлено 23 авг 2020 - 01:25

    Старший сержант

  • Игроки
  • 55790 боев
  • 287
  • [WOTDB] WOTDB
  • Регистрация:
    19.02.2012

Цитата

 

{
  • "status":"ok",
  • "meta":{
    • "count":1
    },
  • "data":{
    • "5414709":{
      • "private":{
        • "is_premium":false,
        • "premium_expires_at":1579899542
        }
      }
    }
}

 

Для своего аккаунта делаю запрос на получение длительности премиума, в ответ юникс время 1579899542 которое заканчивается где-то в сентябре 2020, хотя у меня прем дней около 450 ещё есть. В довесок возвращает, что у меня не премиум аккуаунт.

Вопрос:

1. Как получить актуальное количество прем дней? Или это выводится количество оставшихся дней общего прем-акка?

2. Разработка АПИ умерла?


Подписывайся на ютюб-канал http://www.youtube.com/c/MoDWoTBasenet

Не забудь посмотреть на мои уникальные моды на wgmods.net


MI1001 #3991 Отправлено 03 сен 2020 - 03:47

    Рядовой

  • Игроки
  • 22799 боев
  • 8
  • [-A-I-] -A-I-
  • Регистрация:
    20.01.2013

Здравствуйте, ребят!

 

Знаю, что администрация положила "болт" на основной раздел форума по теме Public API, поэтому обращаюсь к Вам, может кто-нибудь из вас подскажет, как найти сразу все существующие tank_id? Ведь техники много, а как узнать изначально все ID-техники по имени или тегу - метода я не нашёл.

 

Например, чтобы метод возвращал что-то вроде этого json-кода:

 

Заранее спасибо за ответ и, пожалуйста, не ругайте за глупый вопрос (кому он таким покажется)!


Сообщение отредактировал MI1001: 03 сен 2020 - 07:45


Minamoto_ru #3992 Отправлено 03 сен 2020 - 09:16

    Сержант

  • Игроки
  • 41273 боя
  • 193
  • Регистрация:
    14.01.2013

Просмотр сообщенияMI1001 (03 сен 2020 - 03:47) писал:

 

Чет я не понял сути вашей проблемы. Да, этим методом, с указанием только нужных полей, получаете полный список всех танков с id и name, кладете в нужную вам структуру и ей пользуетесь далее по своему усмотрению. Чего не хватает то?



biggood #3993 Отправлено 03 сен 2020 - 15:44

    Лейтенант

  • Игроки
  • 29548 боев
  • 2 238
  • [SP00N] SP00N
  • Регистрация:
    02.09.2011

Просмотр сообщенияMI1001 (03 сен 2020 - 03:47) писал:

Здравствуйте, ребят!

 

Знаю, что администрация положила "болт" на основной раздел форума по теме Public API, поэтому обращаюсь к Вам, может кто-нибудь из вас подскажет, как найти сразу все существующие tank_id? Ведь техники много, а как узнать изначально все ID-техники по имени или тегу - метода я не нашёл.

...

 

https:// api.worldoftanks.ru/wot/encyclopedia/vehicles/?application_id=demo&fields=tank_id%2Cname%2Cshort_name
В параметр "fields" запишите коды полей которые надо вернуть в ответе

 


Сообщение отредактировал biggood: 03 сен 2020 - 15:48

Ресурс WotSkill.ru «Калькулятор СКИЛЛа, ОМ и СИЛЫ» Клана, Игрока и каждого Танка.
Прогресс статистики Игрока. Статистика Клана и вклад Игрока в его рейтинг.
Учет посещения мероприятий Клана. Расширенная статистика и многое другое.

MI1001 #3994 Отправлено 05 сен 2020 - 11:58

    Рядовой

  • Игроки
  • 22799 боев
  • 8
  • [-A-I-] -A-I-
  • Регистрация:
    20.01.2013

Просмотр сообщенияMinamoto_ru (03 сен 2020 - 09:16) писал:

 

Чет я не понял сути вашей проблемы. Да, этим методом, с указанием только нужных полей, получаете полный список всех танков с id и name, кладете в нужную вам структуру и ей пользуетесь далее по своему усмотрению. Чего не хватает то?

 

Я лучше поясню на примере, что имелось в виду… К примеру, необходимо узнать идентификатор танка ИС-4. Мне необходимо сопоставить имя танка его идентификатору, но сначала надо узнать его, для этого нужно найти запись «ИС-4» и увидеть в какой иерархии находится запись «6145». 6145 – для меня код, он неизвестен и скрыт в отличие от имени танка (аргумент, входные данные). В дереве нодов запись имени «ИС-4» принадлежит идентификатору «6145», то есть в иерархии узлов 6145 стоит выше, чем ИС-4. Другими словами, неизвестный мне идентификатор скрывает искомое имя. Я не смогу обратиться к имени не зная заранее идентификатор. Мысль была о том, чтобы найти в API такой же по работе метод как /wot/account/list/, где в массиве существует пара «ключ-значение»: фактическое имя пользователя и к нему привязанный идентификатор.

 

Метод "/wot/account/list/": developers.wargaming.net/reference/all/wot/account/list

 

А на практике задача формулируется так: как разом узнать все имена техники, «не заходя» в их идентификаторы? С массивом можно было бы войти в известные и неизменные поля / точечные нотации: data[0].tank_id; data[0].short_name; data[1].tank_id; data[1].short_name и далее, если json-объект такого вида:

 

Работа вымышленного метода

 

- Сделать это через подбор натурального числа индекса массива, через счётное множество. А как сделать тот же перебор с неизвестными ID (data.6145.tank_iddata.6145.short_name)?

 

Метод "/wot/encyclopedia/vehicles/"developers.wargaming.net/reference/all/wot/encyclopedia/vehicles 

 

Учётных записей пользователей миллионы, а техники вот столько, тоже не мало:

 

Метод "/wot/encyclopedia/vehicles/"developers.wargaming.net/reference/all/wot/encyclopedia/vehicles 

 

В результате, как мне видится, необходимо заранее знать ID-техники. Ещё раз повторюсь, в /wot/account/list/ организован поиск по имени, и это проще…


Сообщение отредактировал MI1001: 05 сен 2020 - 20:50


MI1001 #3995 Отправлено 05 сен 2020 - 11:59

    Рядовой

  • Игроки
  • 22799 боев
  • 8
  • [-A-I-] -A-I-
  • Регистрация:
    20.01.2013

Просмотр сообщенияbiggood (03 сен 2020 - 15:44) писал:

 

https:// api.worldoftanks.ru/wot/encyclopedia/vehicles/?application_id=demo&fields=tank_id%2Cname%2Cshort_name
В параметр "fields" запишите коды полей которые надо вернуть в ответе

 

 

Большое спасибо за решение!



Yury_SNEGOV #3996 Отправлено 10 дек 2020 - 20:46

    Младший лейтенант

  • Игроки
  • 54030 боев
  • 1 118
  • [QK] QK
  • Регистрация:
    13.12.2011

Поиск клана по тегу из любых двух символов всегда выдает ошибку 504 SOURCE_NOT_AVAILABLE.

 

https://api.worldoft...list/?search=QK

{"status":"error","error":{"code":504,"message":"SOURCE_NOT_AVAILABLE","field":null,"value":null}}

 

clans_list.png

 

В чем проблема?

 

PS: Отправил заявку в ЦПП.


Сообщение отредактировал Yury_SNEGOV: 12 дек 2020 - 08:53

Юзербар от сервиса WOT-O-Matic

wotomatic.net - подробная статистика игроков и кланов, рейтинги, генератор юзербаров


Degit22 #3997 Отправлено 07 фев 2021 - 12:10

    Сержант

  • Игроки
  • 28084 боя
  • 138
  • [EGIK-] EGIK-
  • Регистрация:
    23.12.2010
На wgstatus.com появляется некоторая информация не из wargaming api, а из клиента, можно ли как-то пользоваться api игры, или это только через мод перекидывать информацию?

Сообщение отредактировал Degit22: 07 фев 2021 - 12:11


SP_Xaoc #3998 Отправлено 07 фев 2021 - 13:18

    Старший сержант

  • Игроки
  • 12883 боя
  • 388
  • [ALIUM] ALIUM
  • Регистрация:
    25.12.2013

Просмотр сообщенияDegit22 (07 фев 2021 - 12:10) писал:

На wgstatus.com появляется некоторая информация не из wargaming api, а из клиента, можно ли как-то пользоваться api игры, или это только через мод перекидывать информацию?

 

Все данные, которые отображает wgstatus.com есть в их внутреннем API: https://wgstatus.com/api/data

Откуда они берут эти данные - неизвестно. Методы WG API уже не обновляются более 3 лет (я имею ввиду танковые).



Evolution_games #3999 Отправлено 17 фев 2021 - 01:20

    Новобранец

  • Игроки
  • 564 боя
  • 3
  • [DK_UA] DK_UA
  • Регистрация:
    22.04.2014

Добрый день, такой вот вопрос.

Отправил запрос и мне приходит ответ в виде:

{
"status":"ok",
"meta":
{
"count":1,
"page_total":1,
"total":1,
"limit":100,
"page":null
},
"data":
{
"3089":
{
"tier":1,
"tank_id":3089,
"type":"lightTank",
"name":"Leichttraktor",
"nation":"germany"
}
}
}

Всё +/- удаёться распарсить, кроме как "3089" (это id танка) по скольку я его не знаю, до того как считаю информацию (если делать универсальное решение, а не миллион вариаций).
Возможно есть какие то готовые варианты решения, либо кто такое уже делал и может помочь?
PS: Пишу на C#, а сам проект на .Net 5, проект ASP.NET CORE MVC



MI1001 #4000 Отправлено 17 фев 2021 - 07:58

    Рядовой

  • Игроки
  • 22799 боев
  • 8
  • [-A-I-] -A-I-
  • Регистрация:
    20.01.2013

Просмотр сообщенияEvolution_games (17 фев 2021 - 01:20) писал:

Добрый день, такой вот вопрос.

Отправил запрос и мне приходит ответ в виде:

{
"status":"ok",
"meta":
{
"count":1,
"page_total":1,
"total":1,
"limit":100,
"page":null
},
"data":
{
"3089":
{
"tier":1,
"tank_id":3089,
"type":"lightTank",
"name":"Leichttraktor",
"nation":"germany"
}
}
}

Всё +/- удаёться распарсить, кроме как "3089" (это id танка) по скольку я его не знаю, до того как считаю информацию (если делать универсальное решение, а не миллион вариаций).
Возможно есть какие то готовые варианты решения, либо кто такое уже делал и может помочь?
PS: Пишу на C#, а сам проект на .Net 5, проект ASP.NET CORE MVC

 

Такая же проблема... Тоже пишу на C#. Используете Newtonsoft Json.net? Ещё ссылки, а biggood для начала посоветовал сделать так:

 

Список техники

 


Сообщение отредактировал MI1001: 22 фев 2021 - 11:50


Evolution_games #4001 Отправлено 17 фев 2021 - 20:21

    Новобранец

  • Игроки
  • 564 боя
  • 3
  • [DK_UA] DK_UA
  • Регистрация:
    22.04.2014

Спасибо за совет, получилось, сделал :)

Код который собрал хоть и кривой, но может кому то поможет (я сразу тут написал и вытягивал нужные объекты, но в идеале, первым запросом можно вытянуть чисто названия танков и id, сохранить где то и уже используя id без проблем вытаскивать всю нужную информацию).

 

Program.cs

 

В Program.cs я вытягивал в List вместо Dictionary, потому что по какой то причине при попытке записи ключа вылетала ошибка, но в List будет наверное даже лучше.

 

Tank.cs

 

Поля класса Tank точно совпадают с именами которые приходят из ответа, в том числе учитывая регистр, иначе выдавало ошибку.

 

ApiManager.cs

 

При запросе для теста я извлекал определенные 2 танка, но на практике я бы сперва вытащил все возможные танки с полями tank_id и name, а затем уже другими методами, зная tank_id производил необходимые манипуляции.

 

Надеюсь в будущем, если конечно воскреснет тема, разработчики либо реализуют отдельный метод который нормально будет возвращать tank_id и name, либо в общем переделают формат возвращаемых данных, что б не приходилось  ̶л̶о̶м̶а̶т̶ь̶  подбирать ключ.


Сообщение отредактировал Evolution_games: 17 фев 2021 - 20:35





Количество пользователей, просматривающих этот форум: 4

0 пользователей, 4 гостей, 0 анонимных