Instagram ¿cómo obtener mi identificación de usuario del nombre de usuario?

125

Estoy en el proceso de incrustar mi feed de imágenes en mi sitio web usando JSON, la URL necesita mi identificación de usuario para poder recuperar este feed.

Entonces, ¿dónde puedo encontrar / obtener mi identificación de usuario?

Muhammad Reda
fuente
1
He encontrado una herramienta nueva y más rápida para esto, vea codeofaninja.com/tools/find-instagram-user-id
Emkey
También puede estar interesado en encontrar el nombre de usuario a partir de una ID de usuario, en caso de que alguien cambie con frecuencia el nombre de usuario.
Agregué

Respuestas:

235

Respuesta muy tardía pero creo que esta es la mejor respuesta de este tema. Espero que esto sea útil.

Puede obtener información del usuario cuando se realiza una solicitud con la siguiente URL:

https://www.instagram.com/{username}/?__a=1

P.ej:

Esta url obtendrá toda la información sobre un usuario cuyo nombre de usuario es therock

https://www.instagram.com/therock/?__a=1

Actualización i junio-20-2019, la API es pública ahora. No se requiere autenticación.

Actualización en diciembre-11-2018, necesitaba confirmar que este punto final todavía funciona. Debe iniciar sesión antes de enviar una solicitud a este sitio porque ya no es un punto final público. El paso de inicio de sesión también es fácil. Esta es mi demo: https://youtu.be/ec5QhwM6fvc


Actualice el 17 de abril de 2018, parece que este punto final sigue funcionando (pero ya no es un punto final público), debe enviar una solicitud con información adicional a ese punto final. (Presione F12 para abrir la barra de herramientas del desarrollador, luego haga clic en la pestaña Red y rastree la solicitud).

Lo siento porque estoy muy ocupado. Espero que esta información los ayude. Hmm, siéntete libre de darme un voto negativo.


Actualización en 12-abr-2018, cameronjonesweb dijo que este punto final ya no funciona. Cuando intenta acceder a este punto final, devuelve el código de estado 403.


Thinh Vu
fuente
1
¿Cómo lo encontraste?
nilfalse
66
Cuando abre Windows de desarrollador de su navegador y abre la pestaña Red, puede ver la solicitud a esta url.
Thinh Vu
3
busca la identificación del propietario.
Gulok
1
esto es asombroso! Buen hallazgo. Esperemos que esto no tenga una tasa limitada.
ded
2
Desafortunadamente, esto no funciona a menos que tenga una identificación de usuario específica que conozca. La forma en que Instagram verifica si es una solicitud válida es por la cookie enviada en el encabezado. Si user_id existe en la propiedad de cookies, se considerará una solicitud válida. Consulte la propiedad de la cookie en el encabezado de la solicitud cuando navegue a la URL que se muestra
Kiong
39

Ingrese esta URL en su navegador con el nombre de usuario que desea encontrar y su token de acceso

https://api.instagram.com/v1/users/search?q=[USERNAME]&access_token=[ACCESS TOKEN]
estherz
fuente
16
Tristemente; esto es defectuoso :( Hemos descubierto que si te sientas a actualizar esta url, puedes obtener aleatoriamente otros usuarios cuyo nombre de usuario comience con el nombre de usuario que buscaste. Por ejemplo, si estás buscando "fred1" pero también hay un "fred123" ", obtendrás resultados aleatorios! Informado a Instagram; esperando respuesta :(
Danny Tuppeny
@frosty Me parece poco confiable: ¿ha tenido mejores resultados?
sambecker
Esto no funciona, ya que necesita el permiso "public_content" para esto.
desloovere_j
@DannyTuppeny ¿Alguna vez has tenido noticias de Instagram?
Cola
@Queue Nada útil, solo basura. Finalmente, nos dimos por vencidos y, dado que sus cambios en junio rompieron totalmente nuestra integración de todos modos, simplemente los estamos eliminando de nuestra aplicación por completo.
Danny Tuppeny
18

La mayoría de los métodos son obsoletos desde junio, 1/2016 cambios de api

A continuación funcionó para mí

  • Acceda a Instagram en su navegador, por ejemplo, Chrome, Safari o Firefox.
  • Inicie las herramientas de desarrollador, vaya a la opción de consola.
  • en el símbolo del sistema, ingrese debajo del comando y presione enter:

    window._sharedData.entry_data.ProfilePage[0].user.id
    

Si tiene suerte, obtendrá el primer intento, si no, tenga paciencia, actualice la página e intente nuevamente. sigue haciéndolo hasta que veas la ID de usuario. ¡¡Buena suerte!!

f-sociedad
fuente
1
Aquí hay un código de ejemplo para esta solución. github.com/vhpoet/liltools/blob/master/index.js#L13-L28 Alojado: liltools.com/instagram
Vahe Hovhannisyan
18

Obtenga fácilmente ID de usuario y detalles de usuario

https://api.instagram.com/v1/users/search?q= [ NOMBRE DE USUARIO] & client_id = [ID de cliente de su APLICACIÓN]

Por ejemplo:

https://api.instagram.com/v1/users/search?q=zeeshanakhter2009&client_id=enter_your_id

Resultado:

{"meta": {"código": 200}, "datos": [{"nombre de usuario": "zeeshanakhter2009", "bio": "http://about.me/zeeshanakhter", "sitio web": "http: //zeeshanakhter.com","profile_picture":"http://images.ak.instagram.com/profiles/profile_202090411_75sq_1377878261.jpg","full_name":"Zeeshan Akhter "," id ":" 202090411 "}]}

Zeeshan Akhter
fuente
1
La manera más fácil. ¡Y no hay necesidad de un token de acceso! Me encanta :)
¿Puede Vural
1
También escribo el tema de ayuda sobre eso en Java que puedes ver en detalles latest-tutorial.com/2014/01/27/get-instagram-media-comments
Zeeshan Akhter
66
Tristemente; esto es defectuoso :( Hemos descubierto que si te sientas a actualizar esta url, puedes obtener aleatoriamente otros usuarios cuyo nombre de usuario comienza con el nombre de usuario que buscaste. Por ejemplo, si estás buscando "fred1" pero también hay un "fred123" ", obtendrás resultados aleatorios! Informado a Instagram; esperando respuesta :(
Danny Tuppeny
1
Estoy de acuerdo con Danny, este método no siempre funciona.
ca
2
Ya no funciona desde que Instagram eliminó todo el soporte de client_id a partir del 1 de junio de 2016
Malcolm Box
14

En lugar de usar la API, uno puede examinar la página de usuario de Instagram para obtener la identificación. Código de ejemplo en PHP:

$html = file_get_contents("http://instagram.com/<username>");
$doc = new DOMDocument();
$doc->loadHTML($html);

$xpath = new DOMXPath($doc);
$js = $xpath->query('//body/script[@type="text/javascript"]')->item(1)->nodeValue;

$start = strpos($js, '{');
$end = strrpos($js, ';');
$json = substr($js, $start, $end - $start);

$data = json_decode($json, true);
$data = $data["entry_data"]["UserProfile"][0];
# The "userMedia" entry of $data now has the same structure as the "data" field
# in Instagram API responses to user endpoints queries

echo $data["user"]["id"];

Por supuesto, este código debe adaptarse si Instagram cambia su formato de página.

Percival Ulises
fuente
44
Parece una mala idea no usar la API
472084
2
Como menciona la respuesta de Thinh Vu, puede agregar ?__a=1para obtener solo el JSON en el window._sharedDataobjeto, para que pueda hacer algo como curl https://www.instagram.com/username/?__a=1|jq -r .user.id.
nisetama
7

Actualmente no hay una API de Instagram directa para obtener la identificación de usuario del nombre de usuario. Debe llamar a la API GET / users / search y luego iterar los resultados y verificar si el usernamevalor del campo es igual a su nombre de usuario o no, luego toma el id.

nulo
fuente
6

Escribí esta herramienta para recuperar ID de Instagram por nombre de usuario: Búsqueda de ID de usuario de Instagram .

Utiliza la biblioteca python-instagram para acceder a la API e incluye un enlace al código fuente (escrito en Django), que ilustra varias implementaciones de la API de Instagram.

Actualización : Código fuente agregado para el puerto a Ruby on Rails .

zeantsoi
fuente
44
La herramienta para recuperar ID de Instagram por enlace de nombre de usuario no funciona. Por favor actualízalo.
Nishant Nawarkhede
@JaydeepJadav ni siquiera un "por favor"? El código fuente está en GitHub: puede abrir una solicitud de extracción.
zeantsoi
5

Probé todas las soluciones mencionadas y ninguna funciona. Supongo que Instagram ha acelerado sus cambios. Sin embargo, probé el método de la consola del navegador y jugué un poco y encontré este comando que me dio la ID de usuario.

window._sharedData.entry_data.ProfilePage[0].graphql.user.id

Simplemente visita la página de un perfil e ingresa este comando en la consola. Sin embargo, es posible que deba actualizar la página para que esto funcione. (Tuve que publicar esto como respuesta, debido a mi baja reputación)

ionpan
fuente
5

Solución de trabajo sin token de acceso a partir del 14 de octubre de 2018:

Busque el nombre de usuario:

https://www.instagram.com/web/search/topsearch/?query=<username>

Ejemplo:

https://www.instagram.com/web/search/topsearch/?query=therock

Esta es una consulta de búsqueda. Encuentre la entrada coincidente exacta en la respuesta y obtenga el ID de usuario de la entrada.

lashgar
fuente
respuesta corta y mejor, pero si no se encuentra el nombre de usuario, mostrará los resultados relacionados.
sanjeet bisht
4

Necesitas usar Instagrams APIpara convertir tu usernamea id.

Si no recuerdo mal, usas users/searchpara encontrar el nombre de usuario y obtener la identificación desde allí

mlishn
fuente
¿Me puede decir el método que hace eso?
Muhammad Reda
que hace la búsqueda se logra mediante la solicitud de API users/search, luego obtienes la idy la usas en lo que
quieras
44
Tristemente; esto es defectuoso :( Hemos descubierto que si te sientas a actualizar esta url, puedes obtener aleatoriamente otros usuarios cuyo nombre de usuario comienza con el nombre de usuario que buscaste. Por ejemplo, si estás buscando "fred1" pero también hay un "fred123" ", obtendrás resultados aleatorios! Informado a Instagram; esperando respuesta :(
Danny Tuppeny
reemplace el nombre de usuario con el nombre de usuario real en el siguiente enlace api.instagram.com/v1/users/…
Chhatrapati Sharma
3

para obtener su identificación, realice una solicitud autenticada al users/self/feedpunto final de la API de Instagram . La respuesta contendrá, entre otros datos, el nombre de usuario y la identificación del usuario.

wehal3001
fuente
3

La mayoría de estas respuestas no son válidas después de los cambios en la API de Instagram del 6/1/2016 . La mejor solución ahora está aquí . Vaya a su feed en instagram.com, copie la dirección del enlace para cualquiera de sus imágenes y péguela en el cuadro de texto en esa página. Trabajado como un encanto.

Sureño
fuente
2

Vaya a la consola de la API y copie el enlace https://api.instagram.com/v1/users/self en el campo de texto y autentíquese usando su identificación y contraseña de instagram, obtendrá su identificación en respuesta

Sharmaravi
fuente
2

Esto se puede hacer a través del acceso a la API de Instagram apigee.com aquí en el sitio de desarrolladores de Instagram. Después de iniciar sesión, haga clic en la llamada API "/ users / search". Desde allí, puede buscar cualquier nombre de usuario y recuperar su identificación.

{
"data": [{
    "username": "jack",
    "first_name": "Jack",
    "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_66_75sq.jpg",
    "id": "66",
    "last_name": "Dorsey"
},
{
    "username": "sammyjack",
    "first_name": "Sammy",
    "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_29648_75sq_1294520029.jpg",
    "id": "29648",
    "last_name": "Jack"
},
{
    "username": "jacktiddy",
    "first_name": "Jack",
    "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_13096_75sq_1286441317.jpg",
    "id": "13096",
    "last_name": "Tiddy"
}]}


Si ya tiene un código de acceso, también puede hacerlo así: https://api.instagram.com/v1/users/search?q=USERNAME&access_token=ACCESS_TOKEN

preynolds
fuente
3
Tristemente; el uso de usuarios / búsqueda es defectuoso :( Hemos descubierto que si te sientas a actualizar esta url, puedes obtener aleatoriamente otros usuarios cuyo nombre de usuario comienza con el nombre de usuario que buscaste. Por ejemplo, si estás buscando "fred1" pero hay ¡también un "fred123", obtendrá resultados aleatorios! Reportado a instagram; esperando respuesta :(
Danny Tuppeny
2
No es un defecto, de hecho es una funcionalidad. Es una API de búsqueda , lo que significa que funciona como el cuadro de búsqueda en la aplicación de Instagram. La forma correcta de recuperar una identificación de usuario para un nombre de usuario es consultar este punto final de búsqueda, y luego iterar sobre los objetos devueltos y verificar una coincidencia exacta de nombre de usuario.
John Dorian
1
Upvoted ambos, pero como desarrolladores de API que, por favor acuerdan la creación de un punto final de la búsqueda de usuario para evitar esto, ofreciendo sólo una búsqueda es realmente molesto
sricks
2

Aunque no aparece en la lista en la página de la API doc más, me encontré con un hilo que menciona que se puede utilizar selfen lugar de user-idpara el users/{user-id}punto final y va a devolver información del usuario autenticado actualmente.

Entonces, users/selfes lo mismo que una llamada explícita users/{some-user-id}y contiene la identificación del usuario como parte de la carga útil. Una vez que esté autenticado, simplemente llame users/selfy el resultado incluirá la identificación del usuario autenticado actualmente, de esta manera:

{
    "data": {
        "id": "1574083",
        "username": "snoopdogg",
        "full_name": "Snoop Dogg",
        "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_1574083_75sq_1295469061.jpg",
        "bio": "This is my bio",
        "website": "http://snoopdogg.com",
        "counts": {
            "media": 1320,
            "follows": 420,
            "followed_by": 3410
        }
}
markquezada
fuente
2

Si está utilizando la autenticación implícita, debe tener el problema de no poder encontrar el user_id

Encontré una forma, por ejemplo:

Access Token = 1506417331.18b98f6.8a00c0d293624ded801d5c723a25d3ec the User id is 1506417331

harías un single separado por separado? obtenies to access token y el primer elemento

Diego Machaca
fuente
2

Creo que el método mejor, más simple y seguro es abrir su perfil de instagram en un navegador, ver el código fuente y buscar la variable de usuario (ctrl + f "usuario": {" ) dentro del código principal de JavaScript. El número de identificación dentro de la variable de usuario debería se tu id.

Este es el código que parecía en el momento de escribir esta respuesta (puede, y probablemente cambiará en el futuro):

"user":{"username":"...","profile_picture":"...","id":"..........","full_name":"..."}},
Bajlo
fuente
2

Así es como puede recuperar su identificación de usuario de un nombre de usuario:

$url = "https://api.instagram.com/v1/users/search?q=[username]&access_token=[your_token]";
$obj = json_decode(@file_get_contents($url));
echo $obj->data[0]->id;
Nezar Fadle
fuente
2

Puede hacerlo utilizando la API de Instagram (puntos finales de usuario: / users / search)

Cómo hacerlo en PHP:

function Request($url) {

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
    curl_setopt($ch, CURLOPT_HEADER, 0);  

    $result = curl_exec($ch);

    curl_close($ch);

    return $result;

}

function GetUserID($username, $access_token) {

    $url = "https://api.instagram.com/v1/users/search?q=" . $username . "&access_token=" . $access_token;

    if($result = json_decode(Request($url), true)) {

        return $result['data'][0]['id'];

    }

}

// example:
echo GetUserID('rathienth', $access_token);
Rathienth Baskaran
fuente
3
Tristemente; el uso de usuarios / búsqueda es defectuoso :( Hemos descubierto que si te sientas a actualizar esta url, puedes obtener aleatoriamente otros usuarios cuyo nombre de usuario comienza con el nombre de usuario que buscaste. Por ejemplo, si estás buscando "fred1" pero hay ¡también un "fred123", obtendrá resultados aleatorios! Reportado a instagram; esperando respuesta :(
Danny Tuppeny
2

Aquí hay un sitio web realmente fácil que me funciona bien:

http://www.instaid.co.uk/

O puede hacer lo siguiente reemplazando 'nombre de usuario' con su nombre de usuario de Instagram

https://www.instagram.com/username/?__a=1

O puede iniciar sesión en su cuenta de Instagram y usar las herramientas de desarrollo de Google y ver las cookies que se han almacenado. 'ds_user_id' es su ID de usuario

ingrese la descripción de la imagen aquí

BenEgan1991
fuente
Si bien este enlace puede responder la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace como referencia. Las respuestas de solo enlace pueden volverse inválidas si la página vinculada cambia. - De la opinión
Errores
@Bugs He agregado una respuesta más detallada. Solo estoy tratando de contribuir a la comunidad stackoverflow.
BenEgan1991
1
https://api.instagram.com/v1/users/search?q="[USERNAME]"&access_token=[ACCESS TOKEN]

Tenga en cuenta las comillas.

Esto no siempre devuelve un resultado válido, pero con mayor frecuencia que uno no citado:

https://api.instagram.com/v1/users/search?q="self"&count=1&access_token=[ACCESS TOKEN] 

devuelve usuario "self" (id: 311176867)

https://api.instagram.com/v1/users/search?q=self&count=1&access_token=[ACCESS TOKEN]

devuelve el usuario "super_selfie" (id: 1422944651)

Ion Bazan
fuente
1

Solución de trabajo ~ 2018

Descubrí que, siempre que tenga un token de acceso, puede realizar la siguiente solicitud en su navegador:

https://api.instagram.com/v1/users/self?access_token=[VALUE]

De hecho, el token de acceso contiene la ID de usuario (el primer segmento del token):

<user-id>.1677aaa.aaa042540a2345d29d11110545e2499

Puede obtener un token de acceso utilizando esta herramienta proporcionada por Pixel Union .

Allan de Sydney
fuente