2013-10-08 26 views
6

Có thể nhận được steamID của người dùng bằng biệt hiệu của mình không? Tôi không tìm thấy giải pháp trong tài liệu API hơi. Các chỉ có một điều mà tôi tìm thấy là một bài cũ trên http://dev.dota2.com:Nhận steamID theo tên người dùng

Bạn có thể sử dụng để tìm kiếm các API DotA 2 trực tiếp bằng cách sử dụng tùy chọn PLAYER_NAME của GetMatchHistory Sau đó, bạn có thể tìm thấy ID 32-bit của họ trong danh sách và sau đó chuyển nó sang ID 64 bit.

Nhưng hiện tại GetMatchHistory chức năng không có thông số player_name. Bây giờ nó đòi hỏi account_id.

Vậy cách các trang web như http://dotabuff.com/search?q=Dendi nhận thông tin này?

Trả lời

8

Bạn có thể sử dụng

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

để có được những SteamID từ URL tùy chỉnh của một hồ sơ hơi. Xem http://wiki.teamfortress.com/wiki/WebAPI/ResolveVanityURL

Bạn không thể lấy steamID từ biệt hiệu hiện tại của ai đó vì biệt hiệu có thể thay đổi và không phải là duy nhất.

+0

Phụ lục nhỏ: giống như biệt hiệu, URL tùy chỉnh cũng có thể thay đổi. Nhưng vì URL tùy chỉnh là duy nhất, bạn sẽ phải xử lý các trường hợp như "nếu hai người chơi đổi URL của họ thì sao?". –

-6

Bạn đã đọc qua điều này từ API web hơi?

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

Nó có một ví dụ về cách sử dụng một url hồ sơ hơi để trả lại ID người dùng hơi, cũng có một số lý lẽ khác để thu thập các thông tin khác.

Nếu bạn đọc xuống một chút từ đó khẳng định rằng "Trả về danh sách bạn bè của bất kỳ người sử dụng hơi

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

  • bạn có thể thêm các đối số cho thông tin hồ sơ để được trả lại chẳng hạn như ID Steam cung cấp hồ sơ công khai.
+5

Có. Hàm này yêu cầu tham số 'steamids'. Đó là tập hợp các ID hơi. Không phải biệt hiệu. –

1

Sử dụng dự án PHP và Steam Condenser, bạn có thể thực hiện việc này.

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

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

echo $id->getSteamId; 

usage examples trong wiki cho dự án nếu bạn cần thêm thông tin.

+0

Tôi đoán điều này là không thể được nữa: D –

Các vấn đề liên quan