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 in sich leistungsstark, arbeiten aber oft in Verbindung mit anderen Systemen und erfordern Companion-Anwendungen, um Konten zu verbinden, den Datenzugriff zu autorisieren, zusätzliche Daten anzuzeigen oder Nutzereinstellungen zu konfigurieren.

Vorbereitung

Eine Google Chat-App, für die interaktive Funktionen aktiviert sind. Wenn Sie eine interaktive Chat-App erstellen möchten, folgen Sie einer der folgenden Kurzanleitungen, die auf der von Ihnen verwendeten App-Architektur basiert:

Chat-App-Konfiguration von einem Nutzer anfordern

Wenn für die Bearbeitung einer Anfrage eine zusätzliche Konfiguration erforderlich ist, die nicht direkt in der Chat-App durchgeführt werden kann, gib dem Nutzer eine Konfigurations-URL im Rahmen einer normalen Antwort zurück oder stelle sie ihm privat in folgendem Formular zur Verfügung:

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

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

Konfigurationsanfrage ausfüllen

Jedes MESSAGE-Interaktionsereignis, 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. Eine Weiterleitung zu dieser URL signalisiert Google Chat, dass die Konfigurationsanfrage erfüllt wurde.

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

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

  1. Löschen Sie die Aufforderung, die dem Nutzer angezeigt wurde, der die Unterhaltung gestartet hat.
  2. Die ursprüngliche Nachricht in eine öffentliche Nachricht umwandeln, damit sie für andere Mitglieder des Gruppenbereichs sichtbar ist.
  3. Senden Sie die ursprüngliche Nachricht noch einmal an dieselbe Chat-App.

Das Aufrufen einer configCompleteRedirectUrl wirkt sich nur auf eine einzelne Nutzernachricht aus. Wenn ein Nutzer mehrmals versucht hat, eine Chat-App zu verwenden, und deshalb mehrere Aufforderungen erhalten hat, wirkt sich das Klicken auf eine bestimmte Aufforderung und das Durchlaufen des Authentifizierungs- und Konfigurierungsprozesses nur auf diese bestimmte Nachricht aus. Andere Nachrichten bleiben unverä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 die Chat-App A als auch die Chat-App B erwähnt werden, kann der Nutzer die Nachricht bearbeiten, wenn die Chat-App A mit einer regulären Nachricht antwortet, bevor er sich bei der Chat-App B authentifiziert. 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 Google Chat authentifizieren

In einigen Fällen, z. B. bei der Anforderung einer OAuth-Autorisierung für eine API, muss Ihre App eine Verknüpfung zu einer URL außerhalb von Google Chat herstellen und dabei die Nutzeridentität beibehalten. In diesen Fällen lässt sich der Nutzer am besten über Google Log-in identifizieren.

Verwende das Identitätstoken, das bei der Anmeldung ausgestellt wurde, um die Nutzer-ID abzurufen. Der sub-Anspruch enthält die eindeutige ID des Nutzers und kann mit der Nutzer-ID aus Google Chat abgeglichen werden.

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