web-dev-qa-db-fra.com

Photos 1080x1080 via l'API Instagram

http://www.theverge.com/2015/7/6/8899807/instagram-1080p-pictures-photo-upload

The Verge a récemment fait savoir que les dernières versions d'applications d'Instagram téléchargent des photos en résolution 1080x1080. Ces photos peuvent facilement être recherchées via HTML lors de la navigation dans le code source du site. Peut-on accéder à ceux-ci via l'API officielle Instagram? Et si oui, comment?

24
Adam Black

Vous ne savez pas pourquoi vous obtenez un vote négatif, mais non, cette résolution n'est pas renvoyée par l'API pour le moment. Cependant, il peut être "deviné" à partir des autres résolutions renvoyées par l'API, mais cela peut changer à tout moment. Par exemple, étant donné la résolution standard 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
  }

Supprimez la partie taille (s640x640 ici) et les deux chemins suivants (e35/sh0.08 pour cette image, probablement différente de la vôtre) pour obtenir l’URL du 1080x1080:

    https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/11370971_837216559694773_771634899_n.jpg

Cela fonctionne depuis que cette résolution a été activée sur mon compte. Mais encore une fois, je voudrais juste attendre pour l'API.

16
sebastien.b

Depuis le 26 mars 2018, Instagram a modifié ses liens . Voici une solution efficace pour obtenir des images de résolution 1080x1080 à partir de l'API.

  1. Obtenez le user_Id de https://www.instagram.com/{username}/?__a=1.

  2. Collez le user_id dans ce lien https://i.instagram.com/api/v1/users/{user_id}/info/.

  3. Obtenez le lien URL HD à partir de hd_profile_pic_url_info. :)

6

J'ai remarqué qu'en supprimant simplement la partie taille, la plus grande image est renvoyée:

https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s640x640/e35/sh0.08/11370971_837216559694773_771634899_n.jpg

à

https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/e35/sh0.08/11370971_837216559694773_771634899_n.jpg

Par conséquent, cela devrait faire l'affaire:

var hightUrl = data.images.standard_resolution.url.replace("/s640x640/","/");
4
Omiod

Vous pouvez simplement récupérer une image 1080p si disponible en utilisant cette URL:

https://www.instagram.com/p/['IMAGE-CODE']/?__a=1

 Different size of an image

2
Ekrem Gurdal

Cela fonctionne à partir du 20 mars 2018.

Supprimez les vp et les pièces de taille . Donc si nous avons une image 150x150 ici

https://scontent.cdninstagram.com/vp/6f28b299faab04675a936073c94d0fde/5B2E3498/t51.2885-15/s150x150/e35/c135.0.810.810/28152308_875888592619569_7505395194448052224_n.jpg

Supprimez/vp et/s150x150 pour obtenir

https://scontent.cdninstagram.com/6f28b299faab04675a936073c94d0fde/5B2E3498/t51.2885-15/e35/c135.0.810.810/28152308_875888592619569_7505395194448052224_n.jpg

Et nous pouvons obtenir l'image 1080 ici

Vous pouvez même simplement laisser les deux derniers segments

https://scontent.cdninstagram.com/e35/28152308_875888592619569_7505395194448052224_n.jpg

qui peut être vu ici

J'espère que cela t'aides

1
SpeedOfSpin

Le problème avec les URL d'image instagram est que les signatures d'URL fournies dans les réponses json expirent après un certain temps. Ma solution de contournement pour ce problème est la suivante: 

Étapes: 1. Obtenez le lien post Instagram. Exemple: https://www.instagram.com/p/Bo-Jru-g7Wa/

ou si vous n'avez pas le lien, l'API instagram vous fournit une option de permalien (image-code) dans le tableau de résultats qui pour le lien ci-dessus est Bo-Jru-g7Wa

  1. Ajoutez maintenant media? Size = l après l’URL, c.-à-d.,

Résultat: URL de l'image de haute qualité:

https://www.instagram.com/p/Bo-Jru-g7Wa/media?size=l

vous pouvez le voir en action ici: https://jsfiddle.net/nmj1z7wo/fiddle URL

Ce lien peut être considéré comme un code abrégé vers des URL d'image d'instagram beaucoup plus volumineuses. Les valeurs prises en charge pour la taille sont t (miniature), m (moyen), l (grand). La valeur par défaut est m.

0
Nitin Tokas