In diesem Dokument erfährst du, wie du die Messenger API-Unterstützung für Instagram (in unseren Entwicklungsrichtlinien auch als Instagram Messaging API bezeichnet) mit deiner App erfolgreich aufrufst und Nachrichten über ein professionelles Instagram-Konto erhältst. Wir setzen voraus, dass du mit der Graph API und Facebook Login vertraut bist.
Du benötigst Zugriff auf Folgendes:
MODERATE
-Aufgabe auf dieser Seite ausführen kann Entwickler*innen, die noch nicht mit der Messenger-Plattform gearbeitet haben
Entwickler mit Erfahrung auf der Messenger-Plattform
Du kannst Facebook Login oder Business Login für Instagram nutzen, um deine App-Nutzer*innen um die nötigen Berechtigungen zu bitten.
Mit dem Flow Business Login für Instagram kann eine Person während des Anmelde-Flows Folgendes tun:
Wenn du Business Login für Instagram implementieren möchtest, sieh dir unseren Guide zu Business Login für Instagram an und kehre dann zu diesem Guide zurück.
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, die mit dem Instagram-Konto verknüpft ist, für das du eine Abfrage durchführen möchtest, mindestens mit der Zugriffsebene „Moderate“ ausführen können muss.
Klicke nach dem Auslösen des modalen Dialogs auf „OK“, um deiner App die Berechtigungen instagram_basic
, instagram_manage_messages
und pages_manage_metadata
zu gewähren.
Die API sollte einen Nutzer*innen-Zugriffsschlüssel zurückgeben. Zeichne den Schlüssel auf, damit deine App ihn in den nächsten Abfragen verwenden kann. Wenn du den Graph API Explorer verwendest, wird der Schlüssel automatisch erfasst und zur 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/v9.0/me/accounts?access_token={access-token}"
Hierdurch sollte eine Collection von Facebook-Seiten zurückgegeben werden, für die der*die aktuelle Facebook-Nutzer*in 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*innen 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*innen die richtige Seite für dich identifizieren können).
Um die verschiedenen Instagram Messaging API-Aufrufe durchzuführen, musst du den zugehörigen Seiten-Zugriffsschlüssel des betreffenden Instagram-Kontos verwenden, dem zuvor über den Facebook Login-Vorgang Zugriff gewährt wurde.
Sende eine GET
-Anfrage an den /{page-id}
-Endpunkt. Verwende dazu deinen Nutzer*innen-Zugriffsschlüssel. Beispiel:
curl -i -X GET "https://graph.facebook.com/{page-id}? fields=access_token& access_token={user-access-token}"
Wenn der Vorgang erfolgreich verläuft, erhält deine App diese Antwort:
{ "access_token":"{page-access-token}", "id":"{page-id}" }
In diesem Leitfaden erfährst du, wie du einen langlebigen Seiten-Zugriffsschlüssel generierst.
Dieses Tool wird in den kommenden Wochen für alle Entwickler eingeführt. Wenn du die Einstellungen im App Dashboard nicht siehst, kannst du mit den Schritten 1 bis 5 oben Seiten-Zugriffsschlüssel generieren.
Optional: Wenn du Eigentümer der Assets (Instagram-Konto und Facebook-Seite) bist, für die du das Onboarding für die Messenger API-Unterstützung für Instagram durchführen möchtest, kannst du das Instagram-Setup-Tool im Developer App-Dashboard nutzen. Damit kannst du Seiten-Zugriffsschlüssel und Webhooks mühelos einrichten. Du findest das Tool unter „Developer App-Dashboard“ → „Messenger“ → „Instagram-Einstellungen“. Die bisherige Methode zum Konfigurieren von Zugriffsschlüsseln und Webhooks funktioniert weiterhin, doch dieses Tool erleichtert dir die Einrichtung deiner Umgebung.
Um Instagram-Nachrichten per API zu verwalten, müssen Instagram Business-Konten den Umschalter für verknüpfte Tools in den Einstellungen für die Nachrichtensteuerung aktivieren.
Führe mit der erfassten Seiten-ID und dem Seiten-Zugriffsschlüssel eine Abfrage für den GET /{page-id}/conversations?platform=instagram
-Endpunkt durch:
curl -i -X GET \ "https://graph.facebook.com/v9.0/17841405822304914/conversations?platform=instagram&access_token={access-token}"
Damit sollten die IDs aller Thread-Objekte für den*die Instagram-Nutzer*in zurückgegeben werden:
{ "data": [ { "id": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6OTAwMTAxNDYyOTkyODI6MzQwMjgyMzY2ODQxNzEwMzAwOTQ5MTI4MTM2MDk5MDc1MzYyOTgx" }, { "id": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6OTAwMTAxNDYyOTkyODI6MzQwMjgyMzY2ODQxNzEwMzAwOTQ5MTI4MTYzMzQ2MzE5NjM1NDcy" }, { "id": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6OTAwMTAxNDYyOTkyODI6MzQwMjgyMzY2ODQxNzEwMzAwOTQ5MTI4MTk3MTY0NjI2NzAyMjMw" }, { "id": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6OTAwMTAxNDYyOTkyODI6MzQwMjgyMzY2ODQxNzEwMzAwOTQ5MTI4MzkzNDI5MDYzMzkyNjU0" } }
Wenn du diese letzte Abfrage erfolgreich durchführen kannst, solltest du auch Abfragen mit jedem beliebigen Endpunkt für die Messenger API-Unterstützung für Instagram 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.