通过传递 Steam 用户名从 Steam API 检索 SteamID

Posted

技术标签:

【中文标题】通过传递 Steam 用户名从 Steam API 检索 SteamID【英文标题】:Retrieve SteamID from Steam API by passing Steam Username 【发布时间】:2015-09-01 22:14:51 【问题描述】:

我想知道如果用户输入他们的“Steam 用户名”,您是否可以找到他们的“SteamID”。我一直在查看“Steam API”,但没有找到任何相关信息。

我的想法是让用户在一个框中输入他们的“Steam 用户名”,当他们提交表单时,我可以向 Steam 网络服务发起请求,该服务将返回该用户的“SteamID”。

我的问题与其他用户有点不同,因为我只想通过输入 Steam 用户名进行搜索。用户是否有 CustomURL 无关紧要,因为当我将 Steam 用户名发送到“网络服务”时,它应该返回一个用户 ID。

如果有人有任何信息可以帮助我解决这个问题,我们将不胜感激。

【问题讨论】:

Get steamID by user nickname 的可能重复项 显然不是针对您的特定问题的解决方案,但您所描述的内容已经存在于此处:steamidfinder.com @DBS 该网站不允许您使用 Steam 用户名搜索 ID? @showdev 您提供的答案是关于 CustomURL 的链接。我正在寻找的是用户可以搜索他们的 Steam 用户名,从那里它会返回那里 SteamID 也许我理解错了。我认为这解决了您的问题:You can't get the steamID from someone's current nickname because nicknames can change and are not unique. - barsanuphe 【参考方案1】:

在撰写本文时,这是不可能的。 API 中没有用户搜索功能。

作为我自己的应用程序 (C#) 中的一种解决方法,我模拟了 Steam Community search page 发出的 AJAX 请求并解析了响应 html。请记住,AJAX 请求需要来自页面设置的 cookie 的会话 ID。

【讨论】:

【参考方案2】:

Steam API 确实不是记录最好的 API。

我之前做过类似的任务,发现this page很有帮助:

该页面还包含一个示例请求 URL,如下所示:

http://api.steampowered.com/ISteamUser/ResolveVanityURL/v0001/?key=YOU-API_KEY&vanityurl=USER_NAME

【讨论】:

感谢您就此事回复我。当我获得您发布的 URL 时,添加我的 API 密钥并输入我的 Steam 用户名,我会收到此消息。 "response": "success": 42, "message": "No match" 是的,该地址仅适用于自定义配置文件 URL (vanityurl) 而不是实际登录名。

以上是关于通过传递 Steam 用户名从 Steam API 检索 SteamID的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 SteamWorks API 检索 Steam 用户名?

使用 Java 通过 Steam 登录 [关闭]

使用 Steam API 发送 Steam 报价

Steam API调试

获取某人的 Steam 库存

如何在 Steam WebAPI 中获取应用程序的价格?