2015-01-03 19 views
6

W jaki sposób mogę użyć interfejsu Steam Web API, aby uzyskać statystyki gracza, takie jak "Total Kills" lub "Total Win". Niektóre witryny korzystające z tych funkcji to http://csgo-stats.com i http://csgo-stats.net. Próbowałem używać http://api.steampowered.com/ISteamUserStats/GetGlobalStatsForGame/v0001/?format=xml&appid=730&count=1&name[0]=total_wins bez powodzenia. Gdzie jest dokumentacja dla takich statystyk?Uzyskiwanie statystyk gracza CS: GO

Odpowiedz

8

Wydaje mi się, że używasz do tego niewłaściwego punktu końcowego interfejsu API. Zamiast tego użyj punktu końcowego GetUserStatsForGame.

Twój telefon będzie wyglądać następująco:

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

Będziesz zastąpić <<KEY>> z kluczem API i <<PROFILEID>> z ID profilu (nie SteamID) użytkownika jesteś zainteresowany ta wartość jest taka sama. jeden przekazany ci, gdy sign in przez Valve OpenID.

ta zwróci wynik podobny do tego:

{ 
    "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 
      }, 
      ... 
     ] 
    } 
} 

Widać, że trzeba wykonać iterację elementu ['playerstats']['stats'] i spojrzeć na atrybut każdego name znaleźć statystyk, którego szukasz.

+0

czy to działa teraz? Nie sądzę ... próbuję, ale daje mi to puste wyniki. – Umair

+0

@Umair Może próbujesz uzyskać statystyki "Twoje własne", tzn. Twój parametr 'steamid' jest taki sam, który jest powiązany z kluczem twojego API . Miałem dziś bardzo podobny problem. Wygląda na to, że nie możesz tego zrobić za pomocą 'GetUserStatsForGame'. (Wewnętrzny błąd serwera) – Skipper

Powiązane problemy