Chat-App mit anderen Diensten und Tools verbinden

Auf dieser Seite wird beschrieben, wie Sie eine Google Chat-App mit einem Dienst oder Tool außerhalb von Google Chat verbinden. Chat-Apps sind zwar selbst leistungsfähig, 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 für Chat-Apps von einem Nutzer anfordern

Wenn das Ausführen einer Anfrage eine zusätzliche Konfiguration erfordert, die nicht direkt in der Chat-App durchgeführt werden kann, geben Sie eine Konfigurations-URL im Rahmen einer normalen Antwort an den Nutzer 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 anzuzeigen, wobei CONFIGURATION_URL ein Link ist, den der Nutzer zur zusätzlichen Authentifizierung, Autorisierung oder Konfiguration aufrufen kann. Eine REQUEST_CONFIG-Antwort und eine reguläre Antwortnachricht schließen sich gegenseitig aus. Text, Karten und 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, damit sie nach Abschluss des Vorgangs verwendet wird. Die Weiterleitung zu dieser URL signalisiert Google Chat, dass die Konfigurationsanfrage ausgeführt wurde.

Beim Starten der Chat-App hängt der Ablauf von der jeweils empfangenen Nachricht ab. 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 zu configCompleteRedirectUrl weitergeleitet wird, der in der ursprünglichen Nachricht enthalten ist, führt Google Chat die folgenden Schritte aus:

  1. Die Aufforderung löschen, die dem initiierenden Nutzer angezeigt wurde.
  2. Konvertieren Sie die ursprüngliche Nachricht in „Öffentlich“, damit sie für andere Mitglieder des Gruppenbereichs sichtbar ist.
  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 daraufhin mehrere Aufforderungen erhalten hat, wirkt sich das Klicken auf eine bestimmte Eingabeaufforderung 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 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 wird, 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 Chat-App B den bearbeiteten Nachrichtentext, nachdem der Nutzer die Authentifizierung und Konfiguration abgeschlossen hat.

Google 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 werden. Die Nutzeridentität muss dabei gewahrt bleiben. 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 bei der Anmeldung ausgestellte Identitätstoken, 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 nicht genau identisch, können aber erzwungen werden. Wenn Sie den Wert der Anforderung sub auf ein users/{user}-Element in Google Chat erzwingen möchten, stellen Sie dem Wert users/ voran. Der Anforderungswert 123 entspricht beispielsweise dem Nutzernamen users/123 in Nachrichten an Ihre Chat-App.