Auf dieser Seite wird beschrieben, wie Sie eine Google Chat-Anwendung mit einem Dienst oder Tool verbinden, das sich außerhalb von Google Chat befindet. Chat-Apps sind zwar selbst leistungsstark, arbeiten aber oft mit anderen Systemen zusammen und erfordern Companion-Anwendungen, um Konten zu verbinden, den Datenzugriff zu autorisieren, zusätzliche Daten anzuzeigen oder Nutzereinstellungen zu konfigurieren.
Konfiguration von Chat-Apps von einem Nutzer anfordern
Wenn das Ausführen einer Anfrage eine zusätzliche Konfiguration erfordert, die nicht direkt in der Chat-App ausgeführt werden kann, geben Sie eine Konfigurations-URL im Rahmen einer normalen Antwort an den Nutzer zurück oder präsentieren Sie sie privat im folgenden Format:
{ "actionResponse": { "type": "REQUEST_CONFIG", "url": "CONFIGURATION_URL" } }
Dadurch wird Google Chat angewiesen, dem Nutzer eine private Eingabeaufforderung anzuzeigen, wobei CONFIGURATION_URL
ein Link ist, den der Nutzer für eine zusätzliche Authentifizierung, Autorisierung oder Konfiguration aufrufen kann. Eine REQUEST_CONFIG
-Antwort und eine reguläre Antwortnachricht schließen sich gegenseitig aus. Text, Karten oder andere Attribute werden ignoriert.
Konfigurationsanfrage abschließen
Jedes MESSAGE
-Interaktionsereignis, das Ihre Chat-App empfängt, enthält auch einen configCompleteRedirectUrl
-Parameter. Diese URL sollte in Ihrer Konfigurations-URL codiert sein. Sie wird nach Abschluss des Vorgangs verwendet. Die Weiterleitung zu dieser URL signalisiert Google Chat, dass die Konfigurationsanfrage ausgeführt wurde.
Der Ablauf hängt von der jeweils empfangenen Nachricht ab, wenn die Chat-App gestartet wird. Eine Chat-Anwendung sollte auf eine Nachricht wie @app help
mit einer Nachricht antworten, ohne dass eine zusätzliche Konfiguration erforderlich ist.
Wenn ein Nutzer erfolgreich zu configCompleteRedirectUrl
weitergeleitet wird, der in der ursprünglichen Nachricht enthalten ist, führt Google Chat die folgenden Schritte aus:
- Löschen Sie die Aufforderung, die dem initiierenden Nutzer angezeigt wurde.
- Die ursprüngliche Nachricht wird öffentlich gemacht, sodass sie für andere Mitglieder des Gruppenbereichs sichtbar ist.
- Senden Sie die ursprüngliche Nachricht ein zweites Mal an dieselbe Chat-App.
Ein Besuch von configCompleteRedirectUrl
wirkt sich nur auf die Nachricht eines einzelnen Nutzers aus.
Wenn ein Nutzer mehrmals versucht hat, einer Chat-App eine Nachricht zu senden, und daraufhin mehrere Aufforderungen erhalten hat, wirkt sich das Klicken auf eine bestimmte Eingabeaufforderung und das Abschließen des Authentifizierungs- und Konfigurationsvorgangs nur auf diese 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. In einigen Situationen können sich MESSAGE
-Interaktionsereignisse jedoch unterscheiden. Wenn eine Nachricht beispielsweise sowohl die Chat-App A als auch die Chat-App B enthält, kann der Nutzer die Nachricht bearbeiten, wenn die Chat-App A mit einer regulären Nachricht antwortet, bevor sich die Chat-App B authentifiziert. In diesem Fall empfängt die Chat-Anwendung 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. beim Anfordern der OAuth-Autorisierung für eine API, muss Ihre Anwendung mit einer URL außerhalb von Chat verknüpft sein. Dabei muss die Nutzeridentität beibehalten werden. Die beste Möglichkeit, den Nutzer in diesen Fällen zu identifizieren, besteht darin, die Ziel-App mit Google Log-in zu schützen.
Verwenden Sie das Identitätstoken, das bei der Anmeldung ausgestellt wird, um die Nutzer-ID abzurufen. Die sub
-Anforderung enthält die eindeutige ID des Nutzers und kann mit der Nutzer-ID aus Google Chat korreliert werden.
Die beiden IDs sind zwar nicht genau identisch, können aber erzwungen werden. Wenn Sie den Wert der sub
-Anforderung auf eine Google Chat-users/{user}
erzwingen möchten, stellen Sie dem Wert users/
voran. Der Anspruchswert 123
entspricht beispielsweise dem Nutzernamen users/123
in Nachrichten an Ihre Chat-Anwendung.
Weitere Informationen
- Im Beispiel der Anwendung „MyProfile“ wird der Nutzer mit dem Identitätstoken aus der Google Log-in-Antwort identifiziert.