2015-01-03 2 views
6

Как я могу использовать Steam Web API для получения статистики игрока, например, «Всего убийств» или «Всего побед». Некоторые сайты, которые используют эти функции, включают http://csgo-stats.com и http://csgo-stats.net. Я пробовал использовать http://api.steampowered.com/ISteamUserStats/GetGlobalStatsForGame/v0001/?format=xml&appid=730&count=1&name[0]=total_wins без успеха. Где документация для такой статистики?Получение CS: GO статистика игрока

ответ

8

Я считаю, что вы используете неправильную конечную точку API для этого. Вместо этого используйте конечную точку GetUserStatsForGame.

Ваш вызов будет выглядеть следующим образом:

http://api.steampowered.com/ISteamUserStats/GetUserStatsForGame/v0002/?appid=730&key=<<KEY>>&steamid=<<PROFILEID>> 

Вы замените <<KEY>> с ключом API и <<PROFILEID>> с идентификатором профиля (не SteamID) пользователя вы заинтересованы в Этом значении то же самое. один передал вам, когда вы sign in через OpenID клапана.

Это вернет результат, похожий на этот:

{ 
    "playerstats": { 
     "steamID": "7656-EDITED-OUT", 
     "gameName": "ValveTestApp260", 
     "stats": [ 
      { 
       "name": "total_kills", 
       "value": 110527 
      }, 
      { 
       "name": "total_deaths", 
       "value": 95930 
      }, 
      { 
       "name": "total_time_played", 
       "value": 5784386 
      }, 
      { 
       "name": "total_planted_bombs", 
       "value": 2726 
      }, 
      { 
       "name": "total_defused_bombs", 
       "value": 594 
      }, 
      { 
       "name": "total_wins", 
       "value": 26937 
      }, 
      ... 
     ] 
    } 
} 

Вы можете видеть, что вам нужно перебирать ['playerstats']['stats'] элемента и посмотреть на атрибут каждого name найти статистику вы ищете.

+0

Это работает сейчас? Я не думаю, что так ... Я пытаюсь, но это дает мне пустые результаты. – Umair

+0

@Umair Возможно, вы пытаетесь получить «свою собственную» статистику, т. Е. Ваш параметр «steamid» - это то же самое, что связано с вашим API 'key' , У меня была очень похожая проблема сегодня. Похоже, вы не можете сделать это с помощью «GetUserStatsForGame». (Внутренняя ошибка сервера) – Skipper