Puoi utilizzare l'API Instagram Graph per pubblicare immagini, video o reel singoli (ovvero post con contenuto multimediale singolo) oppure post contenenti più immagini e video (post carosello) sugli account Instagram per professionisti.
A partire dal 1° luglio 2023, tutti i video del feed singoli pubblicati tramite l'API Content Publishing di Instagram saranno condivisi come reel.
Tutte le richieste devono includere il token d'accesso dell'utente dell'utente dell'app.
La pubblicazione si basa su una combinazione delle seguenti autorizzazioni. La combinazione esatta dipende dagli endpoint utilizzati dall'app. Consulta i riferimenti dei nostri endpoint per conoscere le autorizzazioni necessarie per ogni endpoint.
Se la tua app sarà utilizzata da utenti che non hanno un ruolo al suo interno o in un Business Manager che ha reclamato l'app, devi richiedere l'approvazione per ogni autorizzazione tramite l'analisi dell'app prima che gli utenti senza un ruolo possano concedere le autorizzazioni all'app.
Nei tentativi di pubblicazione, usiamo con il contenuto multimediale la funzione cURL, quindi al momento del tentativo il contenuto deve essere su un server pubblicamente accessibile.
Non è possibile pubblicare su account Instagram per professionisti collegati a una Pagina che richiede l'autorizzazione alla pubblicazione sulle Pagine (PPA) fino al completamento della procedura PPA.
È possibile che un utente dell'app sia in grado di eseguire attività su una Pagina che inizialmente non richiede PPA, ma che la richiede in un secondo momento. In questo scenario, l'utente dell'app non potrebbe pubblicare contenuti sul proprio account Instagram per professionisti fino al completamento della procedura PPA. Poiché non esiste un modo per sapere se la Pagina di un utente dell'app richiede la PPA, ti consigliamo di richiedere agli utenti di completare preventivamente questa procedura.
Per ulteriori limitazioni, consulta il riferimento di ogni endpoint.
Gli account Instagram hanno un limite di pubblicazione di 50 post tramite API in un periodo di 24 ore. I caroselli vengono considerati come un singolo post. Questo limite viene applicato sull'endpoint POST /{ig-user-id}/media_publish
quando si tenta di pubblicare un contenitore multimediale. Ti consigliamo di configurare l'app in modo che applichi il rate limiting di pubblicazione, soprattutto se consente agli utenti di programmare la pubblicazione futura dei post.
Per controllare l'utilizzo del rate limiting corrente di un account Instagram per professionisti, interroga l'endpoint GET /{ig-user-id}/content_publishing_limit
.
L'API si compone degli endpoint seguenti. Consulta ciascun documento di riferimento dell'endpoint per le istruzioni sull'utilizzo.
POST /{ig-user-id}/media
: carica contenuti multimediali e crea contenitori di oggetti multimediali.POST /{ig-user-id}/media_publish
: pubblica contenuti multimediali caricati utilizzando i relativi contenitori.GET /{ig-container-id}?fields=status_code
: verifica l'idoneità alla pubblicazione e lo stato dei contenitori di contenuti multimediali.GET /{ig-user-id}/content_publishing_limit
: verifica l'utilizzo del rate limiting di pubblicazione corrente dell'utente dell'app.La procedura di pubblicazione di immagini, video, storie o reel singoli si compone di due passaggi:
POST /{ig-user-id}/media
per creare un contenitore da un'immagine o un video ospitati sul tuo server pubblico.POST /{ig-user-id}/media_publish
per pubblicare il contenitore.Passaggio 1 di 2: creazione del contenitore
Ipotizziamo che tu abbia un'immagine all'indirizzo...
https://www.example.com/images/bronz-fonz.jpg
... che desideri pubblicare con l'hashtag "#BronzFonz" come didascalia. Invia una richiesta all'endpoint POST /{ig-user-id}/media
:
POST https://graph.facebook.com/v19.0
/17841400008460056/media
?image_url=https://www.example.com/images/bronz-fonz.jpg
&caption=#BronzFonz
Viene restituito un ID contenitore per l'immagine.
{ "id": "17889455560051444" // IG Container ID }
Passaggio 2 di 2: pubblicazione del contenitore
Usa l'endpoint POST /{ig-user-id}/media_publish
per pubblicare l'ID contenitore restituito nel corso del passaggio precedente.
POST https://graph.facebook.com/v19.0
/17841400008460056/media_publish ?creation_id=17889455560051444
{ "id": "17920238422030506" // IG Media ID }
Puoi pubblicare fino a 10 immagini, video o un mix di immagini e video in un unico post (un post carosello). La procedura di pubblicazione di caroselli si compone di tre passaggi:
POST /{ig-user-id}/media
per creare singoli contenitori di elementi per ogni immagine o video che saranno inclusi nel carosello.POST /{ig-user-id}/media
per creare un singolo contenitore carosello per gli elementi.POST /{ig-user-id}/media_publish
per pubblicare il contenitore carosello.Ai fini del rate limiting dell'account, i post carosello vengono conteggiati come un singolo post.
Limitazioni
Passaggio 1 di 3: creazione del contenitore di elementi
Usa l'endpoint POST /{ig-user-id}/media
per la creazione di un contenitore di elementi per un'immagine o un video che saranno inclusi in un carosello. I caroselli possono avere in totale un massimo di 10 immagini, video o un mix di immagini e video.
POST /{ig-user-id}/media
I parametri seguenti sono obbligatori. Consulta il riferimento per l'endpoint POST /{ig-user-id}/media
per ulteriori parametri supportati.
is_carousel_item
: impostato su true
. Indica che l'immagine o il video sarà visibile in un carosello.image_url
(solo immagini): il percorso all'immagine. Useremo la funzione cURL con l'immagine utilizzando l'URL passato, quindi l'immagine deve trovarsi su un server pubblico.media_type
(solo video): impostato su VIDEO
. Indica che il contenuto multimediale è un video.video_url
(solo video): percorso al video. Useremo la funzione cURL con il video utilizzando l'URL passato, quindi il video deve trovarsi su un server pubblico.Se l'operazione va a buon fine, l'API restituirà un ID contenitore elementi che può essere utilizzato durante la creazione del contenitore carosello.
Ripeti questa procedura per ogni immagine o video da includere nel carosello.
curl -i -X POST \
"https://graph.facebook.com/v19.0
/90010177253934/media?image_url=https%3A%2F%2Fsol...&is_carousel_item=true&access_token=EAAOc..."
{ "id": "17899506308402767" }
Passaggio 2 di 3: creazione del contenitore carosello
Usa l'endpoint POST /{ig-user-id}/media
per creare un contenitore carosello.
POST /{ig-user-id}/media
I parametri seguenti sono obbligatori. Consulta il riferimento per l'endpoint POST /{ig-user-id}/media
per ulteriori parametri supportati.
media_type
: impostato su CAROUSEL
. Indica che il contenitore è per un carosello.children
: un array di 10 ID contenitore massimo di ogni immagine e video che deve essere visibile nel carosello pubblicato. I caroselli possono avere in totale un massimo di 10 immagini, video o un mix di immagini e video.
curl -i -X POST \
"https://graph.facebook.com/v19.0
/90010177253934/media?caption=Fruit%20candies&media_type=CAROUSEL&children=17899506308402767%2C18193870522147812%2C17853844403701904&access_token=EAAOc..."
{ "id": "18000748627392977" }
Passaggio 3 di 3: pubblicazione del contenitore carosello
Usa l'endpoint POST /{ig-user-id}/media_publish
per pubblicare un contenitore carosello (un post carosello). Gli account hanno un limite di pubblicazione di 50 post in un periodo di 24 ore. La pubblicazione di un carosello viene conteggiata come un singolo post.
POST /{ig-user-id}/media_publish
I parametri seguenti sono obbligatori.
creation_id
: l'ID del contenitore carosello.Se l'operazione va a buon fine, l'API restituirà un ID contenuto multimediale di IG dell'album carosello.
curl -i -X POST \
"https://graph.facebook.com/v19.0
/90010177253934/media_publish?creation_id=18000748627392977&access_token=EAAOc..."
{ "id": "90010778390276" }
I reel sono brevi video idonei a essere mostrati nella tab Reels dell'app Instagram se soddisfano determinate specifiche e vengono selezionati dal nostro algoritmo. Per pubblicare un reel, segui la procedura per la pubblicazione di un post con contenuto multimediale singolo e includi il parametro media_type=REELS
insieme al percorso al video usando il parametro video_url
.
I reel non sono un nuovo tipo di contenuto multimediale, anche se imposti media_type=REELS
quando pubblichi un reel. Se pubblichi un reel e poi ne richiedi il campo media_type
, il valore restituito sarà VIDEO
. Per determinare se un video pubblicato è stato approvato come reel, richiedine il campo media_product_type
.
Puoi utilizzare l'esempio di codice su GitHub (insta_reels_publishing_api_sample) per scoprire come pubblicare reel su Instagram.
Per renderlo più comodo per gli sviluppatori, Meta ha pubblicato il set completo di chiamate API Graph per Instagram Reels nella piattaforma dell'API Postman. Per maggiori informazioni, consulta Raccolte Postman per Facebook Reels e Instagram Reels.
Per maggiori informazioni sui reel, consulta la documentazione sui reel per gli sviluppatori.
Solo gli account business possono pubblicare storie con l'API Content Publishing al momento.
Le storie sono video e immagini pubblicati come Instagram Stories su Instagram. Per pubblicare una storia, segui la stessa procedura per la pubblicazione di un post con contenuto multimediale singolo e includi il parametro media_type=STORIES
insieme al percorso all'immagine/al video usando il parametro image_url
o video_url
.
Nota: le storie non sono un nuovo tipo di contenuto multimediale, anche se imposti media_type=STORIES
quando pubblichi una storia. Se pubblichi una storia e poi ne richiedi il campo media_type
, il valore sarà restituito come IMAGE/VIDEO
. Per determinare se un'immagine/un video pubblicata/o è stata/o approvata/o come storia, richiedine invece il campo media_product_type
.
Puoi aggiungere utenti pubblici di Instagram in un'immagine, un carosello e un reel come collaboratori; riceveranno un invito a collaborare per quel particolare contenuto multimediale. Per taggare gli utenti in un'immagine, segui la procedura precedente riportata in Post con contenuto multimediale singolo ma, alla creazione del contenitore del contenuto multimediale, includi il parametro collaborators e un array di stringhe indicante i nomi utente degli utenti Instagram che vuoi invitare come collaboratori sul contenuto multimediale.
POST graph.facebook.com/17841400008460056/media ?image_url=https://www.example.com/images/bronzed-fonzes.jpg &caption=#BronzedFonzes! &collaborators= [‘username1’,’username2’]
Puoi usare l' API Pages Search : assicurati di includere il campo `location` nella query per cercare le Pagine i cui nomi corrispondono a una stringa di ricerca. Quindi, analizza i risultati per identificare eventuali Pagine create per una posizione fisica. Se includi l'ID di una Pagina quando pubblichi un'immagine o un video, tale contenuto sarà taggato con la posizione associata alla Pagina.
Per essere idonea a essere taggata, una Pagina deve contenere dati relativi a latitudine e longitudine.
Verifica che la Pagina che desideri utilizzare abbia i dati relativi a latitudine e longitudine nella risposta. Qualsiasi tentativo di creare un contenitore usando una Pagina senza dati sulla posizione non riuscirà, restituendo l'eccezione codificata INSTAGRAM_PLATFORM_API__INVALID_LOCATION_ID
.
Dopo aver ottenuto l'ID Pagina, assegnalo al parametro location_id
quando pubblichi contenitori con contenuto multimediale singolo o carosello.
Puoi pubblicare sia post con contenuto multimediale singolo sia post carosello taggati con prodotti Shopping su Instagram. Per scoprire come fare, consulta la guida sui Tag dei prodotti.
Puoi taggare utenti Instagram pubblici in un'immagine. Gli utenti taggati riceveranno una notifica.
Per taggare gli utenti in un'immagine, segui la procedura precedente riportata in Post con contenuto multimediale singolo ma, alla creazione del contenitore del contenuto multimediale, includi il parametro user_tags
e un array di oggetti indicando gli utenti Instagram nell'immagine e le relative coordinate x/y all'interno dell'immagine.
POST graph.facebook.com/17841400008460056/media ?image_url=https://www.example.com/images/bronzed-fonzes.jpg &caption=#BronzedFonzes! &user_tags= [ { username:'kevinhart4real', x: 0.5, y: 0.8 }, { username:'therock', x: 0.3, y: 0.2 } ]
Viene restituito un ID contenitore da pubblicare usando l'endpoint per la pubblicazione di contenuti multimediali utente di IG.
user_tags
deve essere un array di oggetti in formato JSON.username
, x
e y
) per ciascun utente.x
e y
devono essere numeri float
che si originano dalla parte in alto a sinistra dell'immagine, con intervallo 0.0
-1.0
.Se riesci a creare un contenitore per un video, ma l'endpoint POST /{ig-user-id}/media_publish
non restituisce l'ID del contenuto multimediale pubblicato, puoi richiedere lo stato di pubblicazione del contenitore interrogando l'endpoint GET /{ig-container-id}?fields=status_code
. Questo endpoint restituirà uno dei seguenti risultati:
EXPIRED
: il contenitore non è stato pubblicato entro 24 ore ed è scaduto.ERROR
: il contenitore non è riuscito a completare la procedura di pubblicazione.FINISHED
: il contenitore e il relativo oggetto multimediale sono pronti per essere pubblicati.IN_PROGRESS
: il contenitore è ancora in fase di pubblicazione.PUBLISHED
: l'oggetto multimediale del contenitore è stato pubblicato.Ti consigliamo di interrogare lo stato di un contenitore una volta al minuto, per non più di 5 minuti.
Consulta il riferimento Codici di errore.