Interroga l'endpoint oEmbed di Instagram per ottenere il codice HTML e i metadati di base di un post di Instagram in modo da incorporarlo in un altro sito web o in un'altra app. Funziona per i post con foto, video, reel e del feed.
Visita il Centro assistenza di Instagram per scoprire come ottenere il codice di incorporamento da un post o un profilo pubblico di Instagram.
Questa guida presuppone che tu sia uno sviluppatore Meta registrato e che abbia creato un'app Meta.
Avrai bisogno dei seguenti elementi:
per la funzione oEmbed Read - Necessaria
l'Analisi dell'app di MetaÈ possibile accedere a tutti gli endpoint tramite l'host graph.facebook.com
.
I rate limiting dipendono dal tipo di token d'accesso incluso dall'app in ogni richiesta.
Le app che si basano sui token d'accesso dell'app possono generare fino a 5 milioni di richieste in 24 ore.
I rate limiting dei token client sono decisamente inferiori rispetto a quelli dei token dell'app. Non indichiamo un limite effettivo perché varia a seconda dell'attività dell'app. Ad ogni modo, puoi tranquillamente presumere che la tua app non raggiungerà il suo limite a meno che non mostri comportamenti tipici di un bot, come l'invio in batch di migliaia di richieste per agente o utente dell'app.
Puoi ottenere un HTML di incorporamento in modo programmatico o nell'app Instagram.
Per ottenere il codice HTML in modo da incorporare un post di Instagram in modo programmatico, invia una richiesta a:
GET /instagram_oembed?url=<URL_OF_THE_POST>&access_token=<ACCESS_TOKEN>
Sostituisci <URL_OF_THE_POST>
con l'URL del post di Instagram che desideri interrogare e <ACCESS_TOKEN>
con il token d'accesso dell'app o del client oppure passalo a noi in un'intestazione HTTP Authorization
.
Authorization: Bearer <ACCESS_TOKEN>
Se utilizzi un token d'accesso client, ricorda che devi combinarlo con l'ID app di Meta utilizzando una barra verticale, altrimenti la richiesta non andrà a buon fine.
Se l'operazione va a buon fine, l'API risponde con un oggetto JSON contenente il codice HTML per incorporare il post e i dati aggiuntivi. Il codice HTML di incorporamento verrà assegnato alla proprietà html
.
Consulta il riferimento oEmbed di Instagram per una lista di parametri della stringa di query che puoi includere per perfezionare la richiesta. Puoi anche includere il parametro della stringa di query fields
per specificare i campi che desideri ottenere. Qualora venisse omesso, verranno inclusi nella risposta tutti i campi predefiniti.
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"
Alcuni valori sono stati troncati con i puntini di sospensione (...
) per una maggiore leggibilità.
{ "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 }
Il parametro della stringa della query url
accetta i seguenti formati URL:
https://www.instagram.com/p/{media-shortcode}/
https://www.instagram.com/tv/{media-shortcode}/
https://www.instagram.com/{username}/guide/{slug}/{guide_id}
Il codice HTML di incorporamento contiene un riferimento alla libreria JavaScript embed.js di Instagram. Una volta caricata, la libreria scansiona la Pagina in cerca dell'HTML del post e genera un post interamente renderizzato. Se desideri caricare la libreria separatamente, includi il parametro della stringa di query omitscript=true
nella tua richiesta. Per inizializzare manualmente l'HTML di incorporamento, chiama la funzione instgrm.Embeds.process()
dopo il caricamento della libreria.
Il post incorporato è responsivo e si adatterà alle dimensioni del suo contenitore. Questo significa che l'altezza varierà a seconda della larghezza del contenitore e della lunghezza della didascalia. Puoi impostare la larghezza massima includendo il parametro della stringa di query maxwidth
nella tua richiesta.
Quando possibile, ti consigliamo di visualizzare interamente il codice HTML di incorporamento del post. Se non riesci a farlo, puoi ottenere un URL della miniatura del post da visualizzare al posto del codice. Tuttavia, se decidi di procedere in questo modo, devi indicare un'attribuzione chiara accanto all'immagine, inclusa quella per l'autore originale e per Instagram, oltre a un link al post di Instagram che stai interrogando.
Per ottenere l'URL della miniatura di un post e le informazioni sulle attribuzioni, invia una richiesta a:
GET /instagram_oembed ?url=<URL_OF_THE_POST> &maxwidth=<MAX_WIDTH> &fields=thumbnail_url,author_name,provider_name,provider_url &access_token=<ACCESS_TOKEN>
Sostituisci <URL_OF_THE_POST>
con l'URL del post di Instagram che desideri interrogare, <MAX_WIDTH>
con le dimensioni massime della miniatura che desideri visualizzare e <ACCESS_TOKEN>
con il tuo token d'accesso dell'app o del client.
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..."
Alcuni valori sono stati troncati con i puntini di sospensione (...
) per una maggiore leggibilità.
{ "thumbnail_url": "https://scontent.cdninstagram.com/v/t51.288...", "author_name": "diegoquinteiro", "provider_name": "Instagram", "provider_url": "https://www.instagram.com/" }
Quando invii la tua app per l'analisi, nel campo del modulo Comunicaci perché stai richiedendo Oembed Read > Fornisci un URL in cui possiamo testare Oembed Read, usa l'endpoint Instagram oEmbed per ottenere l'HTML di incorporamento per qualsiasi post pubblico sulla nostra Pagina Facebook o Pagina Instagram ufficiale. Quindi, aggiungi l'HTML di incorporamento restituito nel punto in cui mostrerai il contenuto oEmbed e inserisci l'URL della pagina nel campo del modulo.
Dopo aver ottenuto l'approvazione per la funzione oEmbed Read, potrai incorporare pagine, post o video utilizzando i rispettivi URL.