stories - Fotos 1080x1080 a través de la API de Instagram
instagram message api (8)
http://www.theverge.com/2015/7/6/8899807/instagram-1080p-pictures-photo-upload
Recientemente, Verge dio a conocer las últimas versiones de la aplicación de Instagram que están cargando fotos en resolución 1080x1080. Estas fotos se pueden obtener fácilmente a través de HTML cuando se navega por el código fuente del sitio. ¿Se puede acceder a estos a través de la API oficial de Instagram? Y si es así, ¿cómo?
A partir del 26 de marzo de 2018, Instagram cambió sus enlaces. Aquí hay una solución de trabajo para obtener imágenes de resolución 1080x1080 desde la API.
Obtenga el ID de usuario en
https://www.instagram.com/{username}/?__a=1
.Pegue el user_id en este enlace
https://i.instagram.com/api/v1/users/{user_id}/info/
.Obtenga el enlace hd url desde
hd_profile_pic_url_info
. :)
Esto funciona a partir del 20 de marzo de 2018.
Retire el vp y las piezas de tamaño. Así que si tenemos una imagen de 150x150 here
https://scontent.cdninstagram.com/vp/6f28b299faab04675a936073c94d0fde/5B2E3498/t51.2885-15/s150x150/e35/c135.0.810.810/28152308_875888592619569_7505395194448052224_n.jpg
Quitar / vp y / s150x150 para obtener
https://scontent.cdninstagram.com/6f28b299faab04675a936073c94d0fde/5B2E3498/t51.2885-15/e35/c135.0.810.810/28152308_875888592619569_7505395194448052224_n.jpg
Y podemos obtener la imagen 1080 here
Incluso puedes dejar los dos últimos segmentos.
https://scontent.cdninstagram.com/e35/28152308_875888592619569_7505395194448052224_n.jpg
que se puede ver here
Espero que esto ayude
Esto me funcionó hoy (15 de agosto de 2018) para la mayoría de las imágenes públicas. Creo que, debido a que las personas usan diferentes aplicaciones para cargar imágenes, la API puede mostrar diferentes tamaños, pero los enlaces están en el mismo archivo de resolución predeterminado.
- Vaya a la página del usuario: https://www.instagram.com/
username
- Haga clic en la imagen que desea y la barra de URL cambiará a: https://www.instagram.com/p/
image-code
/? Taken-by =username
- Copia el
image-code
deimage-code
de la URL - Vaya a: https://www.instagram.com/p/
image-code
/? __ a = 1 - Escanee a través del archivo JSON (ayuda tener activada la extensión del visor JSON ) y haga clic en la imagen de mayor resolución para descargarla. Por ejemplo:
No estoy seguro de por qué está siendo rechazado, pero no, esa resolución no es devuelta por la API en este momento. Sin embargo, puede ser "adivinado" de las otras resoluciones devueltas por la API, pero eso podría cambiar en cualquier momento. Por ejemplo, dada la resolución estándar de JSON:
"standard_resolution": {
"url": "https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s640x640/e35/sh0.08/11370971_837216559694773_771634899_n.jpg",
"width": 640,
"height": 640
}
Elimine la parte de tamaño ( s640x640
aquí) y las dos rutas que siguen ( e35/sh0.08
para esta imagen, probablemente diferentes para la suya) para terminar con la URL al 1080x1080
:
https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/11370971_837216559694773_771634899_n.jpg
Esto ha funcionado desde que se activó esa resolución en mi cuenta. Pero nuevamente, solo esperaría la API.
Noté que simplemente eliminando la parte del tamaño, se devuelve la imagen más grande:
a
Por lo tanto, esto debería hacer el truco:
var hightUrl = data.images.standard_resolution.url.replace("/s640x640/","/");
Usted recibió
"standard_resolution": {
"url": "https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s640x640/e35/sh0.08/11370971_837216559694773_771634899_n.jpg",
"width": 640,
"height": 640
}
Es posible reemplazar s640x640
con s1080x1080
o 2048x2048
. Tanto esta solicitud de retorno de imagen con resolución 1080x1080.
var hightUrl = data.images.standard_resolution.url.replace("s640x640","s1080x1080");
[Actualización] Después del 23 de marzo de 2018
Usé la respuesta de Ekrem Gurdal para hacerla funcionar:
La API de IG le da un atributo de "enlace", por ejemplo, https://www.instagram.com/p/BTduOwSAwN6/
Entonces puede agregar? __ a = 1 a esto, por ejemplo, https://www.instagram.com/p/BTduOwSAwN6/?__a=1
Y puede extraer del resultado json donde se almacena la foto de alta resolución: graphsql.shortcode_media.display_url
Espero que esto ayude. Quizás la gente de IG también encuentre una manera de deshabilitar esto en el futuro. ¿Por qué no solo incluyen la foto de alta resolución en la respuesta de la API, smh?
[Actualización] A partir del 23 de marzo de 2018, la solución a continuación ya no funciona.
Solo para actualizar a cualquiera que esté viendo esto en 2018. La solución que funcionó para mí es eliminar el "vp /" además de reemplazar la resolución a 1080x1080.
P.ej
https://scontent.cdninstagram.com/vp/41d5aee08758061976d26e48f45e673a/5ADA338E/t51.2885-15/s320x320/e35/20065394_1785212551507111_5192354829363576832_n.jpg
a
https://scontent.cdninstagram.com/41d5aee08758061976d26e48f45e673a/5ADA338E/t51.2885-15/s1080x1080/e35/20065394_1785212551507111_5192354829363576832_n.jpg