2013-10-08 3 views
6

È possibile ottenere il valore steamID dell'utente tramite il suo nickname? Non ho trovato la soluzione nella documentazione dell'API del vapore. L'unica cosa che ho trovato è un vecchio post su http://dev.dota2.com:Ottieni steamID per nickname utente

È possibile utilizzare questo per cercare l'API Dota2 direttamente utilizzando l'opzione PLAYER_NAME di GetMatchHistory si può quindi trovare la loro ID a 32 bit nella lista e quindi convertirlo in un ID a 64 bit.

Ma ora la funzione GetMatchHistory non ha il parametro player_name. Ora richiede account_id.

Così come i siti web come http://dotabuff.com/search?q=Dendi ottengono queste informazioni?

risposta

8

È possibile utilizzare

GET http://api.steampowered.com/ISteamUser/ResolveVanityURL/v0001/

per ottenere lo SteamID dal URL personalizzato di un profilo Steam. Vedi http://wiki.teamfortress.com/wiki/WebAPI/ResolveVanityURL

Non è possibile ottenere il steamID dal soprannome corrente di qualcuno perché i nickname possono cambiare e non sono univoci.

+0

Piccola appendice: proprio come i nickname, anche gli URL personalizzati possono cambiare. Ma dal momento che gli URL personalizzati sono unici, dovrai gestire casi come "cosa succede se due giocatori scambiano i loro URL?". –

-6

Avete letto questo dall'API Web di Steam?

https://developer.valvesoftware.com/wiki/Steam_Web_API#GetPlayerSummaries_.28v0002.29

ha un esempio di utilizzo di un profilo a vapore URL per restituire l'ID utenti Steam, anche alcuni altri argomenti per raccogliere altre informazioni.

se si legge un po 'giù di lì si afferma che "restituisce l'elenco amico di qualsiasi utente di vapore

Esempio URL: http://api.steampowered.com/ISteamUser/GetFriendList/v0001/?key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&steamid=76561197960435530&relationship=friend"

  • è possibile aggiungere gli argomenti per informazioni sul profilo da restituire come l'ID Steam che fornisce il profilo è pubblico.
+5

Sì. Questa funzione richiede il parametro 'steamids'. Quale è l'insieme degli ID vapore. Non i soprannomi –

1

Utilizzando PHP e il progetto Steam Condenser, è possibile farlo.

require_once('steam/steam-condenser.php'); 

$playername = 'NAMEOFPLAYER'; 
try 
{ 
    $id = SteamId::create($playername); 
} 
catch (SteamCondenserException $s) 
{ 
    // Error occurred 
} 

echo $id->getSteamId; 

ci sono usage examples nel wiki per il progetto se avete bisogno di ulteriori informazioni.

+0

Suppongo che questo non sia più possibile: D –