Intégrer une publication Instagram

Vous pouvez interroger le point de terminaison oEmbed Instagram de manière à obtenir le code d’intégration HTML et les métadonnées de base d’une publication Instagram, pour afficher celle-ci dans un autre site Web ou une autre application. Prend en charge la publication de photos, de vidéos, de reels et de fils.

Pour savoir comment obtenir le code d’intégration d’une publication ou d’un profil Instagram public, consultez les pages d’aide Instagram.

Usages courants

  • Intégration d’une publication dans un blog
  • Intégration d’une publication sur un site Web
  • Affichage d’une publication dans un système de gestion de contenu (CMS)
  • Affichage d’une publication dans une application de messagerie

Conditions requises

Ce guide s’adresse aux développeurs Meta enregistrés ayant déjà créé une application Meta.

Vous aurez besoin des éléments suivants :

Niveaux d’accès

Tokens d’accès

URL de base

Tous les points de terminaison sont accessibles par le biais de l’hôte graph.facebook.com.

Points de terminaison

Fonctionnalités

Limites

  • Le point de terminaison oEmbed Instagram est destiné uniquement à permettre l’intégration de contenus Instagram dans des sites Web et des applications. Veuillez ne pas l’utiliser à d’autres fins. Il est strictement interdit d’utiliser des métadonnées, une page, une publication ou un contenu vidéo (ou des dérivés de ceux-ci) provenant d’un point de terminaison à d’autres fins que la fourniture d’une vue frontale de la Page, de la publication ou de la vidéo concernée. Cette interdiction s’applique à la consommation, à la manipulation, à l’extraction ou à la persistance des métadonnées et du contenu, y compris, mais sans s’y limiter, au fait de déduire des informations sur les pages, les publications et les vidéos à partir des métadonnées à des fins d’analyse.
  • Les publications des comptes Instagram privés, inactifs et associés à des restrictions d’âge ne sont pas prises en charge.
  • Les comptes ayant désactivé les éléments intégrés ne sont pas pris en charge.
  • Les stories ne sont pas prises en charge.
  • Shadow DOM n’est pas pris en charge.

Plafonds

Les plafonds dépendent du type de jeton d’accès utilisé par votre application pour chaque requête.

Plafond des tokens d’application

Les applications utilisant des tokens d’accès d’application peuvent effectuer jusqu’à cinq millions de requêtes par période glissante de 24 heures.

Plafond des tokens client

Les plafonds pour les tokens client sont considérablement plus bas que ceux des tokens d’application. Nous ne divulguons pas la limite précise, car elle s’ajuste en fonction de l’activité de votre application. Vous pouvez toutefois partir du principe que votre application n’atteindra pas cette limite, sauf en cas de comportement assimilable à celui d’un bot, comme l’envoi groupé de milliers de requêtes ou l’émission de milliers de requêtes par agent ou utilisateur.

Récupération du code HTML d’intégration

Vous pouvez obtenir le code HTML d’intégration par programmation ou via l’application Instagram.

Pour récupérer le code d’intégration HTML par programmation d’une publication Instagram, envoyez une requête de type :

GET /instagram_oembed?url=<URL_OF_THE_POST>&access_token=<ACCESS_TOKEN>

Remplacez <URL_OF_THE_POST> par l’URL de la publication Instagram ciblée et <ACCESS_TOKEN> par votre token d’accès d’application ou client. Vous pouvez également transmettre le token via l’en-tête HTTP Authorization.

Authorization: Bearer <ACCESS_TOKEN>

Si vous utilisez un token d’accès client, vous devez le combiner avec l’ID de votre application Meta en utilisant une barre verticale, sans quoi la requête échouera.

En cas de réussite, l’API renvoie un objet JSON contenant le code d’intégration HTML de la publication, ainsi que d’autres données. Le code d’intégration HTML sera attribué à la propriété html.

Reportez-vous à la documentation de référence oEmbed Instagram pour connaître la liste des paramètres de chaîne de requête que vous pouvez inclure pour personnaliser votre demande. Vous pouvez également inclure le paramètre de chaîne de requête fields afin de spécifier les champs que vous souhaitez obtenir. Si vous omettez ce paramètre, tous les champs par défaut seront inclus dans la réponse.

Exemples de requêtes

curl -X GET \
  "https://graph.facebook.com/v21.0/instagram_oembed?url=https://www.instagram.com/p/fA9uwTtkSN/&access_token=IGQVJ..."

curl -i -X GET \
     --header "Authorization: Bearer 96481..." \
     "https://graph.facebook.com/v21.0/instagram_oembed?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FfA9uwTtkSN"

Exemple de réponse

Certaines valeurs sont tronquées à l’aide de points de suspension (...) pour plus de lisibilité.

{
  "version": "1.0",
  "author_name": "diegoquinteiro",
  "provider_name": "Instagram",
  "provider_url": "https://www.instagram.com/",
  "type": "rich",
  "width": 658,
  "html": "<blockquote class=\"instagram-media\" data-instgrm-ca...",
  "thumbnail_width": 640,
  "thumbnail_height": 640
}

Formats d’URL

Le paramètre de chaîne de requête url accepte les formats d’URL suivants :

https://www.instagram.com/p/{media-shortcode}/
https://www.instagram.com/tv/{media-shortcode}/https://www.instagram.com/{username}/guide/{slug}/{guide_id}

Code d’intégration JS

Le code HTML d’intégration contient une référence à la bibliothèque JavaScript Instagram embed.js. Lorsque la bibliothèque se charge, elle recherche sur la page le code HTML de la publication et génère une vue complète de celle-ci. Si vous souhaitez charger la bibliothèque séparément, incluez le paramètre de chaîne de requête omitscript=true dans votre demande. Pour initialiser manuellement le code d’intégration HTML, appelez la fonction instgrm.Embeds.process() après le chargement de la bibliothèque.

Taille de la publication

La publication intégrée est dynamique et s’adapte à la taille de son conteneur. Par conséquent, sa hauteur varie selon la largeur du conteneur et la longueur de la légende. Vous pouvez définir une largeur maximale en incluant le paramètre de chaîne de requête maxwidth dans votre requête.

Récupération de miniatures

Nous vous recommandons d’afficher le code d’intégration HTML de la publication dans son intégralité lorsque cela est possible. Sinon, vous pouvez utiliser l’URL de l’image miniature d’une publication et afficher cette miniature à la place de la publication. Dans ce cas, cependant, vous devez fournir une attribution claire à côté de l’image, y compris en l’attribuant à l’auteur original et à Instagram, ainsi qu’un lien vers la publication Instagram qui fait l’objet de votre requête.

Pour obtenir l’URL de la miniature d’une publication et ses informations d’attribution, envoyez une requête à :

GET /instagram_oembed
  ?url=<URL_OF_THE_POST>
  &maxwidth=<MAX_WIDTH>
  &fields=thumbnail_url,author_name,provider_name,provider_url
  &access_token=<ACCESS_TOKEN>

Remplacez <URL_OF_THE_POST> par l’URL de la publication Instagram que vous souhaitez interroger, <MAX_WIDTH> par la taille maximale de la miniature que vous souhaitez afficher et <ACCESS_TOKEN> par votre token d’accès d’application ou client.

Exemple de requête

curl -i -X GET \
  "https://graph.facebook.com/v21.0/instagram_oembed?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FfA9uwTtkSN&maxwidth=320&fields=thumbnail_url%2Cauthor_name%2Cprovider_name%2Cprovider_url&access_token=96481..."

Exemple de réponse

Certaines valeurs sont tronquées à l’aide de points de suspension (...) pour plus de lisibilité.

{
  "thumbnail_url": "https://scontent.cdninstagram.com/v/t51.288...",
  "author_name": "diegoquinteiro",
  "provider_name": "Instagram",
  "provider_url": "https://www.instagram.com/"
}

Soumission au Contrôle app

Lors de la soumission de votre application au Contrôle app, remplissez le champ Expliquez-nous pourquoi vous demandez l’accès à Oembed Read > Veuillez fournir une URL où nous pouvons tester Oembed Read, utilisez le point de terminaison oEmbed Instagram pour obtenir le code HTML d’intégration d’une publication publique de notre page Facebook ou Instagram officielle. Intégrez le code HTML obtenu à l’endroit où vous afficherez le contenu oEmbed sur votre site ou votre application, puis saisissez l’URL de cette page dans le champ du formulaire.

Une fois votre application approuvée pour la fonctionnalité oEmbed Read, vous pourrez intégrer vos propres pages, publications ou vidéos en utilisant leurs URL respectives.