Chat-App mit anderen Diensten und Tools verbinden

Auf dieser Seite wird beschrieben, wie Sie eine Google Chat-App mit einem Dienst oder Tool verbinden, das sich außerhalb von Google Chat befindet. Chat-Apps sind zwar leistungsstark, arbeiten aber oft mit anderen Systemen zusammen und erfordern Begleit-Apps, um Konten zu verknüpfen, den Datenzugriff zu autorisieren, zusätzliche Daten anzuzeigen oder Nutzereinstellungen zu konfigurieren.

Vorbereitung

Eine Google Chat-App, die so konfiguriert ist, dass sie Interaktionsereignisse empfängt und darauf reagiert. Wenn Sie eine interaktive Chat-App erstellen möchten, führen Sie eine der folgenden Kurzanleitungen aus, die auf der App-Architektur basieren, die Sie verwenden möchten:

Chat-App-Konfiguration von einem Nutzer anfordern

Wenn für die Ausführung einer Anfrage eine zusätzliche Konfiguration erforderlich ist, die nicht direkt in der Chat-App vorgenommen werden kann, geben Sie dem Nutzer im Rahmen einer normalen Antwort eine Konfigurations-URL zurück oder präsentieren Sie sie privat in der folgenden Form:

{
  "actionResponse": {
    "type": "REQUEST_CONFIG",
    "url": "CONFIGURATION_URL"
  }
}

Dadurch wird Google Chat angewiesen, dem Nutzer eine private Aufforderung zu präsentieren, wobei CONFIGURATION_URL ein Link ist, den der Nutzer für zusätzliche Authentifizierung, Autorisierung oder Konfiguration aufrufen kann. Eine REQUEST_CONFIG-Antwort schließt eine reguläre Antwortnachricht aus. Alle Texte, Karten oder anderen Attribute werden ignoriert.

Konfigurationsanfrage abschließen

Jedes Interaktionsereignis MESSAGE, ADDED_TO_SPACE und APP_COMMAND, das Ihre Chat-App empfängt, enthält auch das Feld configCompleteRedirectUrl. Sie müssen diese URL in Ihrer Konfigurations-URL codieren, damit sie nach Abschluss des Vorgangs verwendet werden kann. Die Weiterleitung zu dieser URL signalisiert Google Chat, dass die Konfigurationsanfrage erfüllt wurde.

Wenn Ihre Chat-App gestartet wird, hängt der Ablauf von der empfangenen Nachricht ab. Als Antwort auf eine Nachricht wie @app help sollte eine Chat-App mit einer Nachricht antworten, ohne dass eine zusätzliche Konfiguration erforderlich ist.

Wenn ein Nutzer erfolgreich zur configCompleteRedirectUrl weitergeleitet wird, die in der ursprünglichen Nachricht angegeben ist, führt Google Chat die folgenden Schritte aus:

  1. Löschen Sie den Prompt, der dem Nutzer angezeigt wurde, der die Aktion initiiert hat.
  2. Die ursprüngliche Nachricht wird in „Öffentlich“ geändert und ist für andere Mitglieder des Gruppenbereichs sichtbar.
  3. Senden Sie die ursprüngliche Nachricht ein zweites Mal an dieselbe Chat-App.

Der Besuch einer configCompleteRedirectUrl wirkt sich nur auf eine einzelne Nutzernachricht aus. Wenn ein Nutzer mehrmals versucht hat, einer Chat-App eine Nachricht zu senden, und dadurch mehrere Aufforderungen erhalten hat, wirkt sich das Durchklicken einer bestimmten Aufforderung und das Abschließen der Authentifizierung und Konfiguration nur auf diese bestimmte Nachricht aus. Andere Nachrichten werden nicht geändert.

Wenn ein MESSAGE-Interaktionsereignis auf diese Weise noch einmal gesendet wird, sollte es mit dem ursprünglichen Ereignis identisch sein. Es gibt jedoch einige Situationen, in denen sich MESSAGE-Interaktionsereignisse unterscheiden können. Wenn in einer Nachricht beispielsweise sowohl Chat-App A als auch Chat-App B erwähnt werden, kann der Nutzer die Nachricht bearbeiten, wenn Chat-App A mit einer regulären Nachricht antwortet, bevor die Authentifizierung mit Chat-App B erfolgt. In diesem Fall erhält Chat-App B den bearbeiteten Nachrichtentext, nachdem der Nutzer die Authentifizierung und Konfiguration abgeschlossen hat.

Chat-Nutzer außerhalb von Chat authentifizieren

In einigen Fällen, z. B. beim Anfordern der OAuth-Autorisierung für eine API, muss Ihre App auf eine URL außerhalb von Chat verweisen, wobei die Nutzeridentität beibehalten werden muss. Die beste Möglichkeit, den Nutzer in diesen Fällen zu identifizieren, ist, die Ziel-App mit Google Log-in zu schützen.

Verwenden Sie das bei der Anmeldung ausgegebene Identitätstoken, um die Nutzer-ID abzurufen. Der sub-Anspruch enthält die eindeutige ID des Nutzers und kann mit der Nutzer-ID aus Google Chat in Beziehung gesetzt werden.

Die beiden IDs sind zwar nicht exakt identisch, können aber erzwungen werden. Wenn Sie den Wert des sub-Anspruchs in einen Google Chat-users/{user} umwandeln möchten, stellen Sie dem Wert users/ voran. Der Anspruchswert von 123 entspricht beispielsweise dem Nutzernamen users/123 in Nachrichten an Ihre Chat-App.