Facebook oEmbed

Les points de terminaison oEmbed Facebook vous permettent de récupérer le code d’intégration HTML et les métadonnées de base de pages, de publications et de vidéos que vous souhaitez afficher sur un autre site web ou une autre application.

Le produit oEmbed a été remplacé par la fonctionnalité oEmbed Read. Les développeurs qui ont implémenté le produit oEmbed avant le 8 juin 2021 ont jusqu’au 7 septembre 2021 pour procéder au Contrôle app de la fonctionnalité oEmbed Read. Après le 7 septembre 2021, si vous n’avez pas obtenu l’approbation pour la fonctionnalité oEmbed Read, le chargement de vos implémentations oEmbed échouera.

Utilisations courantes

  • Affichage de pages, de publications et de vidéos Facebook dans des applications de messagerie
  • Intégration de pages, de publications et de vidéos Facebook dans des sites web et des blogs
  • Affichage de pages, de publications et de vidéos Facebook dans des systèmes de gestion de contenu

Points de terminaison

Point de terminaisonDescription

GET /oembed_page

Récupérez le code d’intégration HTML et les métadonnées de base d’une page Facebook.

GET /oembed_post

Récupérez le code d’intégration HTML et les métadonnées de base d’une publication Facebook.

GET /oembed_video

Récupérez le code d’intégration HTML et les métadonnées de base d’une vidéo Facebook.

Limites

Les points de terminaison oEmbed Facebook sont destinés uniquement à permettre l’intégration de contenus Facebook dans des sites web et des applications. Veuillez ne pas les 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 de points 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, notamment, 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.

Contrôle app

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 Facebook 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 cette Page Facebook). 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.

Tokens d’accès

Les points de terminaison oEmbed Facebook requièrent soit un token d’accès d’application (recommandé), soit un token d’accès client·e.

Tokens d’accès d’app

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’application dans la section Tokens d’application de notre documentation sur les tokens d’accès.

Notez que les tokens d’accès d’application 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·e.

Tokens d’accès client·e

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·e et est alors soumise aux limites de débit des tokens client·e.

Pour obtenir un token d’accès client·e, 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·e 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’application. Pour ce faire, ajoutez votre token à la fin de votre ID d’application, en le séparant de celui-ci avec une barre verticale (|), comme suit :

{app-id}|{client-token}

Par exemple :

access_token=1234|5678

Plafonds

Les limites de débit dépendent du type de token d’accès que votre application inclut dans chaque demande.

Limites de débit des tokens d’application

Les applications qui utilisent des tokens d’accès d’application peuvent effectuer jusqu’à cinq millions de demandes toutes les 24 heures.

Limites de débit des tokens client

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.

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

Pour obtenir le code d’intégration HTML d’une page, d’une publication ou d’une vidéo, envoyez une demande au point de terminaison oEmbed de la page, de la publication ou de la vidéo correspondante :

CiblePoint de terminaison et structure de la requête

Page

GET /oembed_page?url={url}&access_token={access-token}

Publication

GET /oembed_post?url={url}&access_token={access-token}

Vidéo

GET /oembed_video?url={url}&access_token={access-token}

Remplacez {url} par l’URL de la page, de la publication ou de la vidéo Facebook que vous souhaitez demander et {access-token} par votre token d’accès d’application ou client·e (ou envoyez-le-nous dans un en-tête HTTP). Si vous utilisez un Token d’accès client·e, gardez à l’esprit que vous devez l’associer à votre ID d’application 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 page, de la publication ou de la vidéo, ainsi que d’autres données concernant la page, la publication ou la vidéo. Le code d’intégration HTML sera attribué à la propriété html.

Reportez-vous à la documentation de référence de chaque point de terminaison 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 dans toute demande 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.

Exemple de demande de page

curl -i -X GET \
 "https://graph.facebook.com/v21.0/oembed_page?url=https%3A%2F%2Fwww.facebook.com%2FCDC&access_token=96481..."

Exemple de réponse

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

{
  "provider_url": "https://www.facebook.com",
  "provider_name": "Facebook",
  "height": 500,
  "html": "<div id=\"fb-root\"></div><script async=\"1\" defer=...",
  "type": "rich",
  "version": "1.0",
  "width": 340
}

Formats d’URL

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

Pages

https://www.facebook.com/{page-name}
https://www.facebook.com/{page-id}

Publications

https://www.facebook.com/{page-name}/posts/{post-id}
https://www.facebook.com/{username}/posts/{post-id}
https://www.facebook.com/{username}/activity/{activity-id}
https://www.facebook.com/photo.php?fbid={photo-id}
https://www.facebook.com/photos/{photo-id}
https://www.facebook.com/permalink.php?story_fbid={post-id}&id={page-or-user-id}
https://www.facebook.com/media/set?set={set-id}
https://www.facebook.com/questions/{question-id}
https://www.facebook.com/notes/{username}/{note-url}/{note-id}

Vidéos

https://www.facebook.com/{page-name}/videos/{video-id}/
https://www.facebook.com/{username}/videos/{video-id}/
https://www.facebook.com/video.php?id={video-id}
https://www.facebook.com/video.php?v={video-id}

SDK JavaScript

Par défaut, le code d’intégration HTML contient une référence à la bibliothèque JavaScript sdk.js. Si vous souhaitez obtenir un code d’intégration HTML sans cette référence pour charger la bibliothèque séparément, incluez le paramètre de chaîne de requête omitscript=true.

Passage des tokens d’accès dans un en-tête

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/v21.0/oembed_page?url=https%3A%2F%2Fwww.facebook.com%2FCDC" \
  --header "Authorization: Bearer 96481..."