Erste Schritte

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.

Bevor du beginnst

Du benötigst Zugriff auf Folgendes:

Entwickler*innen, die noch nicht mit der Messenger-Plattform gearbeitet haben

  • Befolge den Schritt-für-Schritt-Leitfaden unten, um einen Seiten-Zugriffsschlüssel zu generieren und Webhooks einzurichten.
  • Informiere dich über die verschiedenen Plattform-Features und übernimm die Features, die deinen Anforderungen entsprechen.

Entwickler mit Erfahrung auf der Messenger-Plattform

  • Die Konzepte für Zugriffsschlüssel und Webhooks sind sich ähnlich. Die Messenger API-Unterstützung für Instagram erfordert „instagram_manage_messages“ im Seiten-Zugriffsschlüssel und abonnierte Webhooks für das Thema „Instagram“.
  • Die meisten Features weisen Ähnlichkeit mit denen der Messenger API auf. Sieh dir die Details auf der Feature-Liste an und übernimm die Features, die deinen Anforderungen entsprechen.

Anmelde-Flow

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:

  • ihr Instagram-Konto in ein professionelles Instagram-Konto umwandeln
  • eine Facebook-Seite für ihr Unternehmen erstellen
  • diese Seite mit ihrem professionellen Instagram-Konto verknüpfen

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.

1. Nutzer*innen-Zugriffsschlüssel abrufen

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:

2. Seiten des*der Nutzer*in abrufen

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).

3. Seiten-Zugriffsschlüssel abrufen

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}"              
}  
  • Wenn du einen kurzlebigen Nutzer-Zugriffsschlüssel verwendet hast, ist der Seiten-Zugriffsschüssel nur eine Stunde lang gültig.
  • Wenn du einen langlebigen Nutzungs-Zugriffsschlüssel verwendet hast, hat der Seiten-Zugriffsschüssel kein Ablaufdatum.

In diesem Leitfaden erfährst du, wie du einen langlebigen Seiten-Zugriffsschlüssel generierst.

3a. Seiten-Zugriffsschlüssel über Instagram Developer Dashboard Tool abrufen

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.

4. Verknüpfte Tools in den Einstellungen für die Nachrichtensteuerung aktivieren

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.

5. Postfach-Objekte des professionellen Instagram-Kontos abrufen

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.

Nächste Schritte

  • Entwickle deine App weiter, damit sie alle anderen benötigten Endpunkte verwenden kann, und behalte die Berechtigungen im Auge, die die einzelnen Endpunkte brauchen.
  • Schließe die Webhook-Einrichtung ab, damit jedes Mal, wenn ein*e Nutzer*in eine Nachricht an das Instagram Business-Konto sendet, Echtzeit-Benachrichtigungen empfangen werden können.
  • Schließe den App Review-Prozess ab und fordere die Bestätigung aller von deiner App benötigten Berechtigungen an, damit deine App-Nutzer*innen diese erteilen können, wenn deine App live geschaltet ist.

Unterstützung für Entwickler*innen