In diesem Dokument wird erläutert, wie du die Instagram Graph API mit deiner App erfolgreich aufrufst und ein Instagram Business- oder Creator-Konto-Medienobjekt erhältst. Wir setzen voraus, dass du mit der Graph API und Facebook Login vertraut bist und REST API-Aufrufe tätigen kannst. Wenn du noch keine App hast, kannst du alternativ den Graph API Explorer verwenden und die Schritte 1 und 2 überspringen.
Du benötigst Zugriff auf Folgendes:
Füge das Facebook Login-Produkt im App-Dashboard zu deiner App hinzu.
Du kannst für alle Einstellungen die Standardwerte übernehmen. Wenn du Facebook Login manuell implementierst (nicht empfohlen), gib deine redirect_uri
in das Feld Gültige OAuth Redirect URIs ein. Wenn du eines unserer SDKs verwendest, kannst du das Feld leer lassen.
Implementiere Facebook Login gemäß den Anweisungen in unserer Facebook Login-Dokumentation für deine Plattform in deine App. Richte deine Implementierung ein, um die folgenden Berechtigungen anzufordern:
Nachdem du Facebook Login implementiert hast, vergewissere dich, dass du bei deinem Facebook-Entwicklerkonto angemeldet bist. Rufe dann deine App auf und löse den modalen Facebook Login-Dialog aus. Denke daran, dass dein Facebook-Entwicklerkonto Aufgaben auf der Facebook-Seite ausführen können muss, die mit dem Instagram-Konto verknüpft ist, für das du eine Abfrage durchführen möchtest.
Klicke nach dem Auslösen des modalen Dialogs auf OK, um deiner App die Berechtigungen instagram_basic
und pages_show_list
zu gewähren.
Die API sollte einen Nutzer-Zugriffsschlüssel zurückgeben. Nimm den Schlüssel auf, sodass deine App ihn in den nächsten Abfragen verwenden kann. Wenn du den Graph API Explorer verwendest, wird der Schlüssel automatisch aufgenommen und als Referenz im Zugriffsschlüssel-Feld angezeigt:
Frage den GET /me/accounts
-Endpunkt ab (dieser wird in GET /{user-id}/accounts
umgewandelt, was eine GET
-Aktion für den Facebook-User-Node basierend auf deinem Zugriffsschlüssel durchführt).
curl -i -X GET \
"https://graph.facebook.com/v19.0
/me/accounts?access_token={access-token}"
Hierdurch sollte eine Collection von Facebook-Seiten zurückgegeben werden, für die der aktuelle Facebook-Nutzer die Aufgaben MANAGE
, CREATE_CONTENT
, MODERATE
oder ADVERTISE
ausführen kann.
{ "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" ] } ] }
Erfasse die ID der Facebook-Seite, die mit dem Instagram-Konto verknüpft ist, das du abfragen möchtest. Denke daran, dass deine App-Nutzer möglicherweise Aufgaben für mehrere Seiten ausführen können, sodass du eventuell Logik hinzufügen musst, die die zu erfassende richtige Seiten-ID ermitteln kann (oder entwickle eine UI, über die deine App-Nutzer die richtige Seite für dich identifizieren können).
Führe mit der erfassten Seiten-ID eine Abfrage für den GET /{page-id}?fields=instagram_business_account
-Endpunkt durch:
curl -i -X GET \
"https://graph.facebook.com/v19.0
/134895793791914?fields=instagram_business_account&access_token={access-token}"
Damit sollte der IG-Benutzer (ein Instagram Business- oder Creator-Konto) zurückgegeben werden, der mit der Facebook-Seite verknüpft ist.
{ "instagram_business_account": { "id": "17841405822304914" // Connected IG User ID }, "id": "134895793791914" // Facebook Page ID }
Erfasse die IG-Benutzer-ID.
Führe mit der erfassten IG-Benutzer-ID eine Abfrage für den GET /{ig-user-id}/media
-Endpunkt durch:
curl -i -X GET \
"https://graph.facebook.com/v19.0
/17841405822304914/media?access_token={access-token}"
Damit sollten die IDs aller IG-Medienobjekte für den IG-Benutzer zurückgegeben werden:
{ "data": [ { "id": "17918195224117851" }, { "id": "17895695668004550" }, { "id": "17899305451014820" }, { "id": "17896450804038745" }, { "id": "17881042411086627" }, { "id": "17869102915168123" } ], "paging": { "cursors": { "before": "QVFIUkdGRXA2eHNNTUs4T1ZAXNGFxQTAtd3U4QjBLd1B2NXRMM1NkcnhqRFdBcEUzSDVJZATFoLWtXMWZAGU2VrRTk2RHVtTVlDckI2NjN0UERFa2JrUk4yMW13", "after": "QVFIUmlwbnFsM3N2cV9lZAFdCa0hDeV9qMVliT0VuMmJyNENxZA180c0t6VjFQVEJaTE9XV085aU92OUFLNFB6Szd2amo5aV9rTlVBcnNlWmEtMzYxcE1HSFR3" } } }
Wenn du diese letzte Abfrage erfolgreich durchführen kannst, solltest du auch Abfragen mit jedem beliebigen Instagram Graph API-Endpunkt durchführen können. In unseren verschiedenen Leitfäden und Referenzen findest du Informationen zu den Funktionen der einzelnen Endpunkte und den dafür benötigten Berechtigungen.
Sobald sich deine App im Live-Modus befindet, können alle Facebook-Benutzer, für die du die App verfügbar gemacht hast, auf die Daten eines Instagram Business- oder Creator-Kontos zugreifen. Dafür müssen sie über ein Facebook-Benutzerkonto verfügen, das für die mit diesem Instagram Business- oder Creator-Konto verknüpfte Seite Aufgaben durchführen kann.