2009-09-19 6 views
5

Estoy construyendo una pequeña aplicación de desbordamiento de pila, pero para recopilar información de Stack Overflow sobre un usuario, necesito conocer su ID de usuario. Me gustaría que el usuario pueda ingresar su nombre de visualización/nombre de usuario y que la aplicación encuentre su ID de usuario. Sin embargo, entiendo que los nombres de usuario no son únicos, pero ¿sería posible encontrar, a través de C#, todos los ID de usuarios con un nombre de usuario que especifique? ¿Me puede dar un código de muestra para esto? Esto probablemente se puede hacer de alguna manera arrastrando la página de Usuarios, pero no estoy seguro de cómo lograr este tipo de cosas.¿Cómo encontrar el ID de usuario de un usuario de desbordamiento de pila con su nombre para mostrar en C#?

Por cierto, no quiero usar el volcado de datos para lograr esto. Me gustaría encontrar esta información de alguna manera a través de la página Usuarios, o algo similar.

Por cierto, publiqué un similar question on Meta Stack Overflow y me mandaron a publicarlo aquí, ¡ya que Stack Overflow es donde pertenece!

+2

estaba a punto de sugerir el uso de la descarga de datos, pero dijo que no desea utilizar que por alguna razón no especificada. Si raspa la pantalla a todos los usuarios en Stack Overflow, * será * prohibido. –

+0

@Greg lo haré? Hmm ... no quiero raspar la pantalla de todos los usuarios, todo lo que quiero hacer es ir a la página Usuarios que dice qué usuarios existen (la página principal de los usuarios, no las páginas de perfil individuales). Esto parece ser imposible. –

Respuesta

7

El previous version de esta respuesta ya no funciona. Se podría modificar para que funcione nuevamente, pero ya no es necesario –, está el official API. El parámetro inname a the /users method es lo que está buscando.

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

+0

¡Gracias! ¡Esto realmente ayudó! Por cierto, ¿cómo encontraste esto? –

+0

¡Guau, muchas gracias! –

+0

Esto no funciona. Tal vez esto cambió mientras tanto? –

2

Deberá rastrear a través de todos los usuarios (https://stackoverflow.com/users/( 0 a la actual) /) para responder esa pregunta.

+0

estaba tratando de averiguar si los identificadores de los usuarios son secuenciales, y esta respuesta implicaría que son secuenciales. – the0ther

3

Odio decirlo, pero es posible que desee solicitar la identificación del usuario.

El problema no es que haya muchos usuarios con posibles duplicados, porque si ese fuera el caso, simplemente podría almacenar en caché las búsquedas. El problema es que cualquier usuario puede cambiar su nombre de visualización en cualquier momento, por lo que no puede confiar realmente en su caché.

Lo único que puede hacer es crear un servicio web a partir del último volcado de wiki de la comunidad, mantenerlo actualizado y hacerles saber a los usuarios que si cambian su nombre de usuario necesitarán esperar al próximo mes. lanzamiento de datos para que el nuevo nombre funcione.

+0

¡Gracias! Me pregunto, ¿cómo cambias tu identificación de usuario? ¿Está relacionado con la asociación de un nuevo OpenID con su cuenta? Lo hice hoy, así que voy a ver si mi identificación cambió. –

+0

Supongo que se genera aleatoriamente cuando se crea su cuenta SO en la base de datos. cambiar openid no lo cambiaría porque un usuario puede tener múltiples identificadores abiertos. Tendría que crear una nueva cuenta de usuario para obtener un ID diferente – TJB

+0

@TJB eso es lo que creo, excepto que no es aleatorio, los ID son # ascendentes en términos de quién se registra primero. Jeff tiene id # 1. Otros miembros del equipo tienen identificadores de un solo dígito. ¡Está ordenado por tiempo! ¡La gente de mineral que se registra, más alta será la identificación que se le asigna! –

Cuestiones relacionadas