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


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


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

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

    Старшина

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

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

 

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

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

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

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

 

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



MustBeDead #202 Отправлено 06 Дек 2013 - 16:19

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

  • Игроки
  • 2868 боев
  • 286
  • Регистрация:
    22.04.2012

Просмотр сообщенияbiggood (06 Дек 2013 - 14:41) писал:

Спасибо!
Но на такой запрос API возвращает выбранные параметры ВСЕХ танков!
а можно ли запросить выбранные параметры только конкретного танка (или нескольких выбранных)?
можно ли в запрос вставить tank_id=ХХХ, и как это сделать?


например. запрос по танкам: tank_id=13569, tank_id=5377 параметров: statistics.all.battles,statistics.all.wins,statistics.all.frags,statistics.all.hits_percents

Как уже ранее сообщалось, метод account/tanks передает корректные значения по полям tank-id, battles, wins, mark_of_mastery. Остальные значения передаются для поддержания формата.
К сожалению, получение более подробной информации на данный момент невозможно. Новые методы статистики по танкам находятся в разработке.

Необходимо проводить обработку json-ответа Вашим приложением (скриптом).
Выбирать статистику по необходимому идентификатору танка (tank_id) из предоставленного Public API ответа.
Кабинет разработчика Wargaming Developer Partner Program

NAGlBAT0R #203 Отправлено 06 Дек 2013 - 17:36

    Старшина

  • Игроки
  • 27577 боев
  • 437
  • [74RUS] 74RUS
  • Регистрация:
    28.06.2011
парни киньте в личку структуру класса по claninfo и userinfo на c# и пример дессереализации на c#, до этого все работало под схему  API 1.X, а заявку по 2.0 пока еще не одобрили. Генераторы классов с Json>C# сходят с ума. Видимо придется делать через Ilist, но как докумекать не могу.



UPD: решил задачу стандартизацией выдачи api 2.0 к api 1.х доп функцией удаления избыточных ключей и полей.

Сообщение отредактировал NAGlBAT0R: 08 Дек 2013 - 19:25

 


STREJlA #204 Отправлено 06 Дек 2013 - 18:06

    Старшина

  • Игроки
  • 14497 боев
  • 410
  • [W_G_P] W_G_P
  • Регистрация:
    25.10.2010

Просмотр сообщенияYury_SNEGOV (06 Дек 2013 - 04:26) писал:

Я так понимаю речь про смену имени аккаунта? И имя, и статистика привязаны к ID аккаунта. При смене имени, ID не сменится. Поэтому статистика останется на месте и будет по-прежнему доступна.
Вы уверены в этом, или это предположение?

thunderspb #205 Отправлено 06 Дек 2013 - 18:19

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

  • Бета-тестеры
  • 10190 боев
  • 814
  • [BD] BD
  • Регистрация:
    04.06.2010

Просмотр сообщенияSTREJlA (06 Дек 2013 - 18:06) писал:

Вы уверены в этом, или это предположение?
инфа 146% :) Да, меняется только сам ник, а не его ID
Все, что вы хотели узнать про статистику онлайна с преферансом и куртизанками графиками покластерно и посерверно: https://stats.wotapi.ru/

Sinxy #206 Отправлено 06 Дек 2013 - 21:04

    Новобранец

  • Игроки
  • 8983 боя
  • 2
  • [_RLG_] _RLG_
  • Регистрация:
    10.08.2012

Просмотр сообщенияMustBeDead (01 Дек 2013 - 16:13) писал:


Происходит в несколько этапов:
1) Производим запрос (со значением nofollow=1) по безопасному протоколу (SSL) через, например, cURL (все данные скрыты, в том числе application_id).
2) В ответе получаем в значении location ссылку для пользователя.
3) Перенаправляем пользователя для авторизации на портал Wargaming.
4) Пользователь указывает на портале авторизационные данные.
5) Ожидаем статус авторизации на redirect_uri (на данный URL будет отправлен пользователь + access_token, expires_at, account_id, nickname - метод GET).

Возможно я не правильно понял, но я хочу обратить внимание на то, что параметр, который мы прячем за cURL, а именно application_id, возвращается нам в списке get-параметров у location. А по этой ссылке мы отправляем пользователя. Никакого труда не составит узнать мой application_id. Для чего это было сделано? Похоже на ошибку. Спасибо.

Hedeon #207 Отправлено 07 Дек 2013 - 08:45

    Старшина

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

Просмотр сообщенияSinxy (06 Дек 2013 - 21:04) писал:

Возможно я не правильно понял, но я хочу обратить внимание на то, что параметр, который мы прячем за cURL, а именно application_id, возвращается нам в списке get-параметров у location. А по этой ссылке мы отправляем пользователя. Никакого труда не составит узнать мой application_id. Для чего это было сделано? Похоже на ошибку. Спасибо.
Эта ситуация не является ошибкой.
Location URL и redirect_uri передаются по HTTPS соединению, что предотвращает перехват информации (application_id, access_token) третьими лицами. Для серверного приложения риск того, что пользователь приложения получит доступ к application_id минимален, так как запросы идут между серверами. Для автономных приложений абсолютной защиты не существует, но в кабинете разработчика есть все возможности чтобы быстро создавать и пересоздавать Application ID.

Xp9kyc #208 Отправлено 07 Дек 2013 - 17:21

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

  • Игроки
  • 47609 боев
  • 57
  • Регистрация:
    29.10.2010
Привет.
Возникла необходимость узнать, когда и кто последний раз снимал золото с казны клана. Каким образом это можно сделать? Поискал в ветке ~/clan/info, там есть только общая сумма золота в казне клана, причем даже ее вывести мне не удалсь (значение private.treasure надо выводить как-то по особенному? я делаю запрос в ветку /clan/info , присваиваю значению $gold=$value['private']['treasury'], пытаюсь вывести echo $gold; -- пишет Undefined variable: gold).
Есть ли какие-то методы узнать кто и когда снял голду из казны клана?

Hedeon #209 Отправлено 07 Дек 2013 - 17:55

    Старшина

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

Просмотр сообщенияXp9kyc (07 Дек 2013 - 17:21) писал:

Привет.Возникла необходимость узнать, когда и кто последний раз снимал золото с казны клана. Каким образом это можно сделать? Поискал в ветке ~/clan/info, там есть только общая сумма золота в казне клана, причем даже ее вывести мне не удалсь (значение private.treasure надо выводить как-то по особенному? я делаю запрос в ветку /clan/info , присваиваю значению $gold=$value['private']['treasury'], пытаюсь вывести echo $gold; -- пишет Undefined variable: gold).Есть ли какие-то методы узнать кто и когда снял голду из казны клана?
К сожалению, с помощью Public API Вы можете узнать лишь общее количество золота, которое находится в казне клана в момент запроса. Текущая реализация Public API не предоставляет доступа к логам расхода клановой казны.
Поле private.treasury метода clan/info является приватным полем и выводится только при передаче в запросе access_token. При попытках запросить данное поле без передачи access_token значение поля выведено не будет ("private": null) . Получить access_token Вы можете пройдя авторизацию методом auth/login (https://ru.wargaming...wot/auth/login/).
Пример запроса к методу clan/info для получения количества золота в клановой казне:
https://api.worldoft...an_id=%clan_id%
Ответ:
{
"status": "ok",
"count": 1,
"data": {
"%clan_id%": {
"private": {
"treasury": %gold%
}
}
}


Xp9kyc #210 Отправлено 07 Дек 2013 - 22:49

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

  • Игроки
  • 47609 боев
  • 57
  • Регистрация:
    29.10.2010

Просмотр сообщенияHedeon (07 Дек 2013 - 17:55) писал:

К сожалению, с помощью Public API Вы можете узнать лишь общее количество золота, которое находится в казне клана в момент запроса. Текущая реализация Public API не предоставляет доступа к логам расхода клановой казны.
Поле private.treasury метода clan/info является приватным полем и выводится только при передаче в запросе access_token. При попытках запросить данное поле без передачи access_token значение поля выведено не будет ("private": null) . Получить access_token Вы можете пройдя авторизацию методом auth/login (https://ru.wargaming...wot/auth/login/).
Пример запроса к методу clan/info для получения количества золота в клановой казне:
https://api.worldoft...an_id=%clan_id%
Ответ:
{
"status": "ok",
"count": 1,
"data": {
"%clan_id%": {
"private": {
"treasury": %gold%
}
}
}

Ясно, большое спасибо за толковое разъяснение.
Да, а вобщем, Вы не планируете ввести в API ветку, отвечающую за что-то типа виртуальной бухгалтерии кланов? Или что-нибудь типа ведении истории по денежным операциям в кланах? Допустим, каждым денежным операциям клана присваиваются уникальные идентификаторы (или хотя бы один самый последний по дате), которые в течении некоторого времени хранятся на сервере, и потом  можно уже будет, взяв этот идентификатор, распарсить его (id игрока, дата, сумма,тип операции в клановой казне). Или это далекий и никому не нужный КТТС?

Hedeon #211 Отправлено 08 Дек 2013 - 09:18

    Старшина

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

Просмотр сообщенияXp9kyc (07 Дек 2013 - 22:49) писал:

Ясно, большое спасибо за толковое разъяснение.Да, а вобщем, Вы не планируете ввести в API ветку, отвечающую за что-то типа виртуальной бухгалтерии кланов? Или что-нибудь типа ведении истории по денежным операциям в кланах? Допустим, каждым денежным операциям клана присваиваются уникальные идентификаторы (или хотя бы один самый последний по дате), которые в течении некоторого времени хранятся на сервере, и потом можно уже будет, взяв этот идентификатор, распарсить его (id игрока, дата, сумма,тип операции в клановой казне). Или это далекий и никому не нужный КТТС?
На ближайшее время таких планов нет. Мы учтем Ваши пожелания при планировании будущих обновлений.

Volk_NN #212 Отправлено 08 Дек 2013 - 15:58

    Старшина

  • Бета-тестеры
  • 15001 бой
  • 551
  • [VLKNN] VLKNN
  • Регистрация:
    17.06.2010
Подскажите, пожалуйста, если ли какой либо параметр в поиске кланов, позволяющий искать только по названиям или только по клантегам?

Наша жизнь - сумасшедшее шоу, наша гибель - финальный бугурт!

 

https://volknn.ru/


Hedeon #213 Отправлено 08 Дек 2013 - 16:31

    Старшина

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

Просмотр сообщенияVolk_NN (08 Дек 2013 - 15:58) писал:

Подскажите, пожалуйста, если ли какой либо параметр в поиске кланов, позволяющий искать только по названиям или только по клантегам?
К сожалению, нет. Поиск по кланам производится сразу и по названиям и по клантегам.

Sinxy #214 Отправлено 08 Дек 2013 - 20:30

    Новобранец

  • Игроки
  • 8983 боя
  • 2
  • [_RLG_] _RLG_
  • Регистрация:
    10.08.2012

Просмотр сообщенияHedeon (07 Дек 2013 - 08:45) писал:

Эта ситуация не является ошибкой.
Location URL и redirect_uri передаются по HTTPS соединению, что предотвращает перехват информации (application_id, access_token) третьими лицами. Для серверного приложения риск того, что пользователь приложения получит доступ к application_id минимален, так как запросы идут между серверами. Для автономных приложений абсолютной защиты не существует, но в кабинете разработчика есть все возможности чтобы быстро создавать и пересоздавать Application ID.

Похоже, что я не правильно выразился. Я получаю от вас ссылку для пользователя "location". В ней есть мой "application_id". Когда я перенаправляю по этой ссылке пользователя - это уже не является межсервеным запросом. Любой человек, который захочет воспользовать моим сервисом, при переходе по ВАШЕЙ ссылке, получает мой application_id.

Вот пример:
https://api.worldoft...ete/&nofollow=1

Я получаю

{
	"status": "ok",
	"count": 1,
	"data": {
		"location": "https://ru.wargaming...A24%3A37ZWU1nCz"
	}
}

Перенаправив человека по этой ссылке я не могу быть уверенным в том, что он тупо не посмотрит даже в браузере вот на это
Изображение

NAGlBAT0R #215 Отправлено 08 Дек 2013 - 20:35

    Старшина

  • Игроки
  • 27577 боев
  • 437
  • [74RUS] 74RUS
  • Регистрация:
    28.06.2011

Просмотр сообщенияYury_SNEGOV (22 Ноя 2013 - 05:15) писал:

Конечно. (тьфу-тьфу)
url_WOT_AccountRating = 'http://worldoftanks....
Подсказка:
X-Requested-With: XMLHttpRequest
Результат:
        points.png
скажите, тема еще рабочая? выдает 404 ошибку. на c#
Как получить позицию или количество очков славы. Надо для проекта http://wot74rus.ru

Сообщение отредактировал NAGlBAT0R: 08 Дек 2013 - 20:36

 


MustBeDead #216 Отправлено 09 Дек 2013 - 08:54

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

  • Игроки
  • 2868 боев
  • 286
  • Регистрация:
    22.04.2012

Просмотр сообщенияSinxy (08 Дек 2013 - 20:30) писал:

Похоже, что я не правильно выразился. Я получаю от вас ссылку для пользователя "location". В ней есть мой "application_id". Когда я перенаправляю по этой ссылке пользователя - это уже не является межсервеным запросом. Любой человек, который захочет воспользовать моим сервисом, при переходе по ВАШЕЙ ссылке, получает мой application_id. Вот пример:
https://api.worldoft...ete/&nofollow=1
Я получаю
{ "status": "ok", "count": 1, "data": { "location": "https://ru.wargaming...A24%3A37ZWU1nCz" }}
Перенаправив человека по этой ссылке я не могу быть уверенным в том, что он тупо не посмотрит даже в браузере вот на этоИзображение

Спасибо за замечание.
Внесенные изменения являются промежуточными и неокончательными. Метод обязательно будет доработан.
Обращаем отдельное внимание, что в кабинете разработчика есть все возможности, чтобы быстро создавать и пересоздавать Application ID.
Кабинет разработчика Wargaming Developer Partner Program

Terradine #217 Отправлено 09 Дек 2013 - 09:51

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

  • Разработчики
  • 23046 боев
  • 97
  • Регистрация:
    31.03.2011

Просмотр сообщенияNAGlBAT0R (08 Дек 2013 - 20:35) писал:

скажите, тема еще рабочая? выдает 404 ошибку. на c#
Как получить позицию или количество очков славы. Надо для проекта http://wot74rus.ru
Портал worldoftanks.ru не относится к Public API.
Понятие "очки славы" было введено только во второй компании, поэтому в методы Public API они еще не введены. Доработка состоит в планах на ближайшее будущее.

X_A_M_C_T_B_O #218 Отправлено 09 Дек 2013 - 17:37

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

  • Игроки
  • 15025 боев
  • 208
  • Регистрация:
    21.04.2013
API выдаёт информацию о  "Последний раз был в бою:"?

Сообщение отредактировал X_A_M_C_T_B_O: 09 Дек 2013 - 17:42

Живу, работаю в Англии.
Правописанию не учился.
говорю на языках: Русский,Английский,Французский,Польский,Латышский.
Жду WG в Англии с плюшками - ведь каму не нравиться халява =)

Terradine #219 Отправлено 09 Дек 2013 - 19:32

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

  • Разработчики
  • 23046 боев
  • 97
  • Регистрация:
    31.03.2011

Просмотр сообщенияX_A_M_C_T_B_O (09 Дек 2013 - 16:37) писал:

API выдаёт информацию о  "Последний раз был в бою:"?

 

К сожалению на данный момент такую информацию API не предоставляет



NAGlBAT0R #220 Отправлено 09 Дек 2013 - 21:09

    Старшина

  • Игроки
  • 27577 боев
  • 437
  • [74RUS] 74RUS
  • Регистрация:
    28.06.2011

Просмотр сообщенияX_A_M_C_T_B_O (09 Дек 2013 - 19:37) писал:

API выдаёт информацию о  "Последний раз был в бою:"?

вычисляем на проекте клана (ссылка постом выше) путем проверки изменения количества боев по игроку. Соотвественно чтобы вычислить как активно ходит боец на глобалку, сверяем соответствующий параметр и обновляем дату проверки при инкременте.


Сообщение отредактировал NAGlBAT0R: 09 Дек 2013 - 21:10

 


X_A_M_C_T_B_O #221 Отправлено 10 Дек 2013 - 13:00

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

  • Игроки
  • 15025 боев
  • 208
  • Регистрация:
    21.04.2013

Просмотр сообщенияNAGlBAT0R (09 Дек 2013 - 18:09) писал:

вычисляем на проекте клана (ссылка постом выше) путем проверки изменения количества боев по игроку. Соотвественно чтобы вычислить как активно ходит боец на глобалку, сверяем соответствующий параметр и обновляем дату проверки при инкременте.

вариант - спс


Живу, работаю в Англии.
Правописанию не учился.
говорю на языках: Русский,Английский,Французский,Польский,Латышский.
Жду WG в Англии с плюшками - ведь каму не нравиться халява =)




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

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