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?
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?
Respuestas:
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 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.
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]
La mayoría de los métodos son obsoletos desde junio, 1/2016 cambios de api
A continuación funcionó para mí
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!!
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 "}]}
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.
?__a=1
para obtener solo el JSON en el window._sharedData
objeto, para que pueda hacer algo como curl https://www.instagram.com/username/?__a=1|jq -r .user.id
.
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 username
valor del campo es igual a su nombre de usuario o no, luego toma el id
.
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 .
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)
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.
Necesitas usar Instagrams API
para convertir tu username
a id
.
Si no recuerdo mal, usas users/search
para encontrar el nombre de usuario y obtener la identificación desde allí
users/search
, luego obtienes la id
y la usas en lo que
para obtener su identificación, realice una solicitud autenticada al users/self/feed
punto final de la API de Instagram . La respuesta contendrá, entre otros datos, el nombre de usuario y la identificación del usuario.
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.
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
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
Bueno, solo puedes llamar a este enlace
http://jelled.com/ajax/instagram?do=username&username=[USER_NAME_GOES_HEREfont>&format=json
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 self
en lugar de user-id
para el users/{user-id}
punto final y va a devolver información del usuario autenticado actualmente.
Entonces, users/self
es 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/self
y 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
}
}
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
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":"..."}},
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;
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);
Aquí hay un sitio web realmente fácil que me funciona bien:
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
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)
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 .
Primero cree una aplicación en Instagram y obtenga el ID de cliente para su aplicación
http://instagram.com/developer/
Ahora solo copie pegar la siguiente URL en la ventana del navegador reemplazando su Nombre de usuario y su ID de cliente https://api.instagram.com/v1/users/search?q=[Your-usernamefont>&client_id=[Your-Client-Id]
obtendrá un resultado Json que contiene información general sobre su cuenta junto con su ID de usuario numérico