5

我正在构建一个小型 Stack Overflow 应用程序,但要从 Stack Overflow 收集有关用户的信息,我需要知道他们的 UserID。我希望用户能够输入他们的显示名称/用户名并让应用程序找到他们的 UserID。但是,我知道用户名不是唯一的,但是是否可以通过 C# 找到具有我指定的用户名的人的所有用户 ID?你能给我一些示例代码吗?这可能可以通过屏幕抓取用户页面以某种方式完成,但我不确定如何完成这类事情。

顺便说一句,我不想​​使用数据转储来完成此操作。我只是想以某种方式通过用户页面或类似的东西找到这些信息。

顺便说一句,我在 Meta Stack Overflow 上发布了一个类似的问题,并被指示在这里发布,因为 Stack Overflow 是它所属的地方!

4

3 回答 3

7

此答案的先前版本不再起作用。它可以被修改以再次工作,但不再需要 - 现在,有官方 API。该方法inname的参数/users您正在寻找的。

示例:http ://api.stackexchange.com/2.2/users?order=desc&sort=reputation&inname=steve&site=stackoverflow

于 2009-09-19T11:20:32.893 回答
3

我不想这么说,但您可能想询问用户 ID。

问题不在于有很多用户可能存在重复,因为如果是这种情况,您可以缓存查找。问题是任何用户都可以随时更改他们的显示名称,因此您不能真正信任您的缓存。

您可能会做的一件事是从最新的社区 wiki 转储构建 Web 服务,保持最新,并让用户知道,如果他们更改用户名,他们将需要等待下个月的数据发布工作的新名称。

于 2009-09-19T05:37:18.247 回答
2

您将需要遍历所有用户(https://stackoverflow.com/users/0(到当前)/)来回答该问题。

于 2009-09-19T05:29:56.500 回答