Question

I'm building a small Stack Overflow application, but to collect information from Stack Overflow about a user I need to know their UserID. I would like the user to be able to enter their display name/username and for the application to find their UserID. However, I understand that usernames are not unique, but would it be possible to find, through C#, all the user-ids of people with a username that I specify? Can you give me some sample code for this? This probably can be done somehow by screen-scraping the Users page, but I am not sure how to accomplish this sort of thing.

By the way, I do not want to use the data-dump to accomplish this. I would just like to somehow find this info out through the Users page, or something similar.

By the way, I posted a similar question on Meta Stack Overflow and was directed to post this here, as Stack Overflow is where it belongs!

Was it helpful?

Solution

The previous version of this answer doesn't work anymore. It could be modified to work again, but it's not necessary anymore – these days, there's the official API. The inname parameter to the /users method is what you're looking for.

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

OTHER TIPS

I hate to say it, but you might want to ask for the user ID.

The problem isn't that there are a lot of users with potential duplicates, because if that were the case you could just cache the lookups. The problem is that any user can change their display name at any time, and so you can't really trust your cache.

The one thing you might do is build a web service from the latest community wiki dump, keep that up to date, and just make users know that if they change their user name they'll need to wait for the next month's data release for the new name to work.

You will need to crawl through all users (https://stackoverflow.com/users/(0 to current)/) to answer that question.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top