Questo documento spiega come eseguire correttamente chiamate API Instagram Graph e ottenere oggetti multimediali di un account business o creator di Instagram. Presuppone che tu abbia familiarità con l'API Graph e Facebook Login e che sappia come eseguire chiamate API REST. Se non hai ancora un'app, puoi saltare i primi due passaggi e usare il Tool di esplorazione per la API Graph.
Dovrai avere accesso a quanto segue:
Aggiungi il prodotto Facebook Login all'app nella Dashboard gestione app.
Puoi lasciare tutte le impostazioni predefinite. Se decidi di implementare Facebook Login manualmente (opzione che sconsigliamo), immetti il tuo redirect_uri
nel campo URI di reindirizzamento OAuth validi. Se hai intenzione di usare uno dei nostri SDK, puoi lasciare vuoto questo campo.
Segui la nostra documentazione su Facebook Login per la tua piattaforma e implementa Facebook Login nell'app. Configura la tua implementazione per richiedere queste autorizzazioni:
Dopo aver implementato Facebook Login, assicurati di aver effettuato l'accesso al tuo account sviluppatore di Facebook, quindi accedi all'app e attiva la finestra modale di Facebook Login. Ricorda: l'account sviluppatore di Facebook deve poter eseguire attività sulla Pagina Facebook collegata all'account Instagram che desideri interrogare.
Dopo aver attivato la finestra modale, clicca su OK per concedere all'app le autorizzazioni instagram_basic
e pages_show_list
.
L'API dovrebbe restituire un token d'accesso dell'utente. Acquisisci il token in modo che l'app possa usarlo nelle query successive. Se stai utilizzando il Tool di esplorazione per la API Graph, il token verrà acquisito automaticamente e visualizzato nel campo Token d'accesso come riferimento:
Interroga l'endpoint GET /me/accounts
(si traduce in GET /{user-id}/accounts
, che esegue un GET
sul nodo User di Facebook, in base al tuo token d'accesso).
curl -i -X GET \
"https://graph.facebook.com/v19.0
/me/accounts?access_token={access-token}"
Questa operazione restituisce una raccolta di Pagine Facebook su cui l'utente attuale può eseguire le attività MANAGE
, CREATE_CONTENT
, MODERATE
o ADVERTISE
:
{ "data": [ { "access_token": "EAAJjmJ...", "category": "App Page", "category_list": [ { "id": "2301", "name": "App Page" } ], "name": "Metricsaurus", "id": "134895793791914", // capture the Page ID "tasks": [ "ANALYZE", "ADVERTISE", "MODERATE", "CREATE_CONTENT", "MANAGE" ] } ] }
Acquisisci l'ID della Pagina Facebook collegata all'account Instagram che desideri interrogare. Tieni presente che gli utenti della tua app potrebbero essere in grado di eseguire attività su più Pagine, quindi più avanti dovrai introdurre una logica in grado di determinare l'ID corretto della Pagina da acquisire (o ideare un'interfaccia utente in cui gli utenti possano indicare la Pagina corretta).
Usa l'ID della Pagina acquisito per interrogare l'endpoint GET /{page-id}?fields=instagram_business_account
:
curl -i -X GET \
"https://graph.facebook.com/v19.0
/134895793791914?fields=instagram_business_account&access_token={access-token}"
Questa operazione restituisce l'utente di IG, un account business o creator di Instagram collegato alla Pagina Facebook.
{ "instagram_business_account": { "id": "17841405822304914" // Connected IG User ID }, "id": "134895793791914" // Facebook Page ID }
Acquisisci l'ID dell'utente di IG.
Usa l'ID dell'utente di IG acquisito per interrogare l'endpoint GET /{ig-user-id}/media
:
curl -i -X GET \
"https://graph.facebook.com/v19.0
/17841405822304914/media?access_token={access-token}"
Questa operazione restituisce gli ID di tutti gli oggetti di tipo IG Media sull'utente di IG:
{ "data": [ { "id": "17918195224117851" }, { "id": "17895695668004550" }, { "id": "17899305451014820" }, { "id": "17896450804038745" }, { "id": "17881042411086627" }, { "id": "17869102915168123" } ], "paging": { "cursors": { "before": "QVFIUkdGRXA2eHNNTUs4T1ZAXNGFxQTAtd3U4QjBLd1B2NXRMM1NkcnhqRFdBcEUzSDVJZATFoLWtXMWZAGU2VrRTk2RHVtTVlDckI2NjN0UERFa2JrUk4yMW13", "after": "QVFIUmlwbnFsM3N2cV9lZAFdCa0hDeV9qMVliT0VuMmJyNENxZA180c0t6VjFQVEJaTE9XV085aU92OUFLNFB6Szd2amo5aV9rTlVBcnNlWmEtMzYxcE1HSFR3" } } }
Se riesci a eseguire correttamente questa query finale, dovresti essere in grado di eseguire query utilizzando uno qualsiasi degli endpoint dell'API Instagram Graph: consulta le nostre guide e i vari riferimenti per sapere cosa può fare ogni endpoint e quali autorizzazioni richiede.
Quando l'app è in modalità live, qualsiasi utente di Facebook a cui hai reso disponibile l'app può accedere ai dati di un account business o creator di Instagram, purché disponga di un account utente di Facebook in grado di eseguire attività sulla Pagina collegata all'account Instagram.