On September 4, 2024, we announced the deprecation of the Instagram Basic Display API.

Starting December 4, 2024, all requests to the Instagram Basic Display API will return an error message. We recommend that you migrate your app to the Instagram API to avoid any disruption to your services.

Visit our News for Developers blog post to learn more.

Primi passi

Questo tutorial mostra come configurare un'app nella dashboard gestione app, ottenere un token d'accesso dell'utente Instagramdi breve durata, e utilizzare il token per interrogare l'API per il profilo pubblico di un utente Instagram. Una volta completato il tutorial, avrai una conoscenza di base su come ottenere token d'accesso e autorizzazioni dagli utenti della tua app e su come eseguire query semplici con l'API.

Il tutorial presuppone che tu sia in grado di eseguire richieste cURL di base con uno strumento da riga di comando o un'app come Postman.

Prima di iniziare

Ecco cosa dovrai fare:

Passaggio 1: creazione di un'app Facebook

Vai all'indirizzo developers.facebook.com, clicca su Le mie app, crea una nuova app e scegli il tipo di appConsumatore o Nessuno.

Una volta creata l'app, vai nella Dashboard gestione app, accedi a Impostazioni > Base, scorri fino al fondo della pagina e clicca su Aggiungi piattaforma.

Scegli Sito web, aggiungi l'URL del tuo sito web e salva le modifiche. Puoi modificare le impostazioni della piattaforma in un secondo momento se lo desideri, ma per questo tutorial utilizza Sito web.

Passaggio 2: configurazione di Instagram Basic Display

Clicca su Prodotti, individua il prodotto Instagram Basic Display e clicca su Configura per aggiungerlo alla tua app.

Scorri fino al fondo della pagina, quindi clicca su Crea una nuova app.

Compila tutte le sezioni del modulo mostrato usando le linee guida riportate sotto.

Nome visualizzato

Inserisci il nome dell'app Facebook che hai appena creato.

URI di reindirizzamento OAuth validi

Inserisci l'URL del tuo sito web. Normalmente si tratta di un URI dedicato in grado di acquisire i parametri della stringa di query di reindirizzamento, ma per questo tutorial andrà bene l'URL del tuo sito web.

Ad esempio: https://socialsizzle.heroku.com/auth/

Dopo aver inserito un URL, salva le modifiche e ricontrolla l'URL; potremmo aver aggiunto una barra rovesciata finale a seconda della struttura dell'URL. Copia l'URL completo da qualche parte poiché ti servirà nei passaggi successivi per ottenere codici di autorizzazione e token d'accesso.

URL di callback per la rimozione delle autorizzazioni

Inserisci di nuovo l'URL del tuo sito web. Più avanti dovrai sostituire questo URL con uno che sia in grado di rimuovere l'autorizzazione delle notifiche, ma ai fini di questo tutorial puoi riutilizzare l'URL del tuo sito web.

URL di callback di una richiesta eliminazione dati

Inserisci l'URL del tuo sito web ancora una volta. Come per l'URL di callback per la rimozione delle autorizzazioni, più avanti dovrai sostituire questo URL con uno che sia in grado di gestire le richieste di eliminazione dei dati, ma per ora puoi riutilizzare l'URL del tuo sito web.

Analisi dell'app

Salta questa sezione per ora, in questo tutorial non dovrai passare l'app alla modalità pubblicata.

Passaggio 3: aggiunta di un utente test di Instagram

Accedi a Ruoli > Ruoli e scorri verso il basso fino alla sezione Tester di Instagram. Clicca su Aggiungi tester di Instagram, inserisci il nome utente del tuo account Instagram e invia l'invito.

Apri un nuovo browser web, vai all'indirizzo www.instagram.com e accedi all'account Instagram a cui hai appena inviato l'invito. Accedi a (Icona profilo) > Modifica profilo > App e siti web > Inviti relativi a test e accetta l'invito.

È ora possibile accedere al tuo account Instagram dalla tua app Facebook mentre è in modalità sviluppo.

Passaggio 4: autenticazione dell'utente test

Struttura l'URL della finestra di autorizzazione in basso sostituendo {app-id} con l'ID della tua app Instagram (dal campo Dashboard gestione app > Prodotti > Instagram > Basic Display > ID app Instagram) e {redirect-uri} con l'URL del sito web che hai fornito nel passaggio 2 ("URI di reindirizzamento OAuth validi"). L'URL deve essere esattamente lo stesso.

https://api.instagram.com/oauth/authorize
  ?client_id={app-id}
  &redirect_uri={redirect-uri}
  &scope=user_profile,user_media
  &response_type=code

Ad esempio:

https://api.instagram.com/oauth/authorize
  ?client_id=684477648739411
  &redirect_uri=https://socialsizzle.herokuapp.com/auth/
  &scope=user_profile,user_media
  &response_type=code

Apri una nuova finestra nel browser web e carica l'URL della finestra di autorizzazione. Questa dovrebbe apparire e visualizzare il nome del tuo utente di Instagram, il nome dell'app e una descrizione delle autorizzazioni richieste dalla tua app.

Esegui l'autenticazione del tuo utente test di Instagram effettuando l'accesso nella finestra di autorizzazione, quindi clicca su Autorizza per garantire alla tua app l'accesso ai dati del tuo profilo. In caso di azione eseguita correttamente, la pagina ti rimanderà all'URI di reindirizzamento inserito nel passaggio precedente e mostrerà un codice di autorizzazione. Ad esempio:

https://socialsizzle.herokuapp.com/auth/?code=AQDp3TtBQQ...#_

È stato aggiunto #_ alla fine dell'URI di reindirizzamento, ma non fa parte del codice in sé. Copia il codice (senza #_ portion) per poterlo usare nel passaggio successivo.

I codici di autorizzazione sono di breve durata e sono validi solo per 1 ora.

Passaggio 5: scambio del codice con un token

Apri lo strumento da riga di comando o l'app che supporta le richieste cURL e invia la seguente richiesta POST all'API.

curl -X POST \
  https://api.instagram.com/oauth/access_token \
  -F client_id={app-id} \
  -F client_secret={app-secret} \
  -F grant_type=authorization_code \
  -F redirect_uri={redirect-uri} \
  -F code={code}

Sostituisci {app-id}, {app-secret}, {redirect-uri} e {code} con l'ID della tua app Instagram, la chiave segreta di Instagram, il tuo URI di reindirizzamento e il codice che ti abbiamo inviato. Assicurati che l'URI di reindirizzamento corrisponda esattamente a quello che hai indicato nel passaggio precedente, incluse le barre finali qualora la dashboard gestione app le abbia aggiunte durante la configurazione della tua app Instagram.

Ad esempio:

curl -X POST \
  https://api.instagram.com/oauth/access_token \
  -F client_id=684477648739411 \
  -F client_secret=eb8c7... \
  -F grant_type=authorization_code \
  -F redirect_uri=https://socialsizzle.herokuapp.com/auth/ \
  -F code=AQDp3TtBQQ...

In caso di azione eseguita correttamente, l'API restituirà un oggetto con codifica JSON contenente un token d'accesso utente Instagram di breve durata, valido per 1 ora, e l'ID del tuo utente test di Instagram:

{
  "access_token": "IGQVJ...",
  "user_id": 17841405793187218
}

Copia il token d'accesso e l'ID utente per poterli usare nel passaggio successivo.

Passaggio 6: esecuzione di una query del nodo User

Usa lo strumento da riga di comando o l'app e la richiesta cURL riportata sotto per interrogare il nodo User sull'ID e il nome utente del tuo utente. Sostituisci {user-id} e {access-token} con l'ID e il token d'accesso ricevuti nell'ultimo passaggio.

curl -X GET \
  'https://graph.instagram.com/{user-id}?fields=id,username&access_token={access-token}'

Ad esempio:

curl -X GET \
  'https://graph.instagram.com/17841405793187218?fields=id,username&access_token=IGQVJ...'

In alternativa, puoi interrogare il nodo Me, il quale esaminerà il tuo token, determinerà l'ID dell'utente Instagram che ha concesso il token e interrogherà quell'utente. Ad esempio:

curl -X GET \
  'https://graph.instagram.com/me?fields=id,username&access_token=IGQVJ...'

In caso di azione eseguita correttamente, l'API risponderà con l'ID e il nome utente del tuo utente Instagram:

{
  "id": "17841405793187218",
  "username": "jayposiris"
}

Passaggi successivi

Ora che sai come ottenere un token ed eseguire una query di base, leggi le nostre guide per scoprire di più su ciò che puoi fare con l'API.