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 guides.
Point de terminaison | Description |
---|---|
Récupérez le code d’intégration HTML et les métadonnées de base d’une publication Instagram. |
Pour pouvoir utiliser oEmbed, vous devez soumettre votre application au Contrôle app pour la fonctionnalité oEmbed Read.
Pour le champ de formulaire fournir l’URL à laquelle nous pouvons tester oEmbed Read, utilisez le point de terminaison oEmbed Instagram pour obtenir le code d’intégration HTML de toute publication publique sur notre Page Facebook ou Page Instagram officielle (ou obtenez ce code d’intégration HTML directement sur ces pages). Intégrez le code d’intégration HTML renvoyé dans votre propre Page sur laquelle vous voulez afficher le contenu oEmbed et saisissez l’URL de cette page dans le champ de formulaire.
Une fois approuvé pour la fonctionnalité oEmbed Read, vous pourrez intégrer vos propres pages, publications ou vidéos avec leurs URL respectives.
Le point de terminaison oEmbed Instagram requiert soit un token d’accès d’application (recommandé), soit un token d’accès client.
Si votre application repose sur un serveur backend, nous vous recommandons d’utiliser un token d’accès d’application pour accéder au point de terminaison oEmbed. Les limites de débit dépendent du type de token inclus dans la demande, et la limite de débit des tokens d’application s’élève à cinq millions de demandes quotidiennes.
Vous trouverez des instructions pour générer des tokens d’accès d’app dans la section Tokens d’app de notre documentation sur les tokens d’accès.
Notez que les tokens d’accès d’app ne doivent jamais être utilisés côté client. Ils doivent toujours rester en sécurité sur votre serveur. Si votre application a besoin d’un token d’accès côté client, utilisez plutôt un token d’accès client.
Si votre application requiert un accès au point de terminaison oEmbed à partir d’un agent utilisateur tel qu’un appareil mobile ou un navigateur web, elle doit utiliser un token d’accès client et est alors soumise aux limites de débit des tokens client.
Pour obtenir un token d’accès client, connectez-vous à l’Espace App et accédez à Paramètres > Avancés > Sécurité > Token client.
Contrairement aux tokens d’accès d’application, les tokens d’accès client ne peuvent pas être utilisés seuls dans les demandes envoyées au point de terminaison oEmbed. Ils doivent être associés à votre ID d’app. Pour ce faire, ajoutez votre token à la fin de votre ID d’app, en le séparant de celui-ci avec une barre verticale (|
), comme suit :
{app-id}|{client-token}
Par exemple :
access_token=1234|5678
Les limites de débit dépendent du type de token d’accès que votre application inclut dans chaque demande.
Les applications qui utilisent des tokens d’accès d’application peuvent effectuer jusqu’à cinq millions de demandes toutes les 24 heures.
Les limites de débit des tokens client sont significativement plus basses que celles des tokens d’application. Nous ne révélons pas les limites réelles, car elles varient en fonction de l’activité de votre application. Cependant, vous pouvez partir du principe que votre application n’atteindra pas sa limite, à moins qu’elle se comporte comme un bot, par exemple en générant des lots comprenant des milliers de demandes ou en envoyant des milliers de demandes par agent ou utilisateur de l’application.
Pour obtenir le code d’intégration HTML d’une publication Instagram, envoyez une demande de type :
GET /instagram_oembed?url={url}&access_token={access-token}
Remplacez {url}
par l’URL de la publication Instagram que vous souhaitez demander et {access-token}
par votre token d’accès d’application ou client (ou envoyez-le-nous dans un en-tête HTTP). Si vous utilisez un Token d’accès client, gardez à l’esprit que vous devez l’associer à votre ID d’app avec une barre verticale, sans quoi la demande é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 préciser la 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.
curl -X GET \
"https://graph.facebook.com/v20.0
/instagram_oembed?url=https://www.instagram.com/p/fA9uwTtkSN/&access_token=IGQVJ..."
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 }
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}
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.
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 demande.
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 demande à :
GET /instagram_oembed ?url={url} &maxwidth={maxwidth} &fields=thumbnail_url,author_name,provider_name,provider_url &access_token={access-token}
Remplacez {url}
par l’URL de la publication Instagram que vous souhaitez interroger, {maxwidth}
par la taille maximale de la miniature que vous souhaitez afficher et {access-token}
par votre token d’accès d’application ou client.
curl -i -X GET \
"https://graph.facebook.com/v20.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..."
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/" }
Si vous ne souhaitez pas inclure le token d’accès dans la chaîne de requête de votre demande, vous pouvez nous le transmettre via un en-tête HTTP Authorization
.
Authorization: Bearer {access-token}
Par exemple :
curl -i -X GET \
"https://graph.facebook.com/v20.0
/instagram_oembed?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FfA9uwTtkSN" \
--header "Authorization: Bearer 96481..."