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, der bzw. das sich außerhalb von Google Chat befindet. Chat-Apps sind zwar bereits leistungsfähig, arbeiten aber oft mit anderen Systemen zusammen und erfordern Begleitanwendungen, um Konten zu verbinden, den Datenzugriff zu autorisieren, zusätzliche Daten anzuzeigen oder Nutzereinstellungen zu konfigurieren.

Konfiguration der Chat-App von einem Nutzer anfordern

Wenn für das Ausführen einer Anfrage eine zusätzliche Konfiguration erforderlich ist, die nicht direkt in der Chat-App abgeschlossen werden kann, geben Sie eine Konfigurations-URL als Teil 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 dem Nutzer eine private Aufforderung angezeigt, wobei CONFIGURATION_URL ein Link ist, den der Nutzer zur zusätzlichen Authentifizierung, Autorisierung oder Konfiguration aufrufen kann. Die Antwort REQUEST_CONFIG schließt sich mit einer regulären Antwortnachricht gegenseitig aus. Text, Karten und andere Attribute werden ignoriert.

Konfigurationsanfrage abschließen

Jedes MESSAGE-Interaktionsereignis, das Ihre Chat-App empfängt, enthält auch den Parameter configCompleteRedirectUrl. Diese URL sollte in der Konfigurations-URL codiert sein, damit sie nach Abschluss des Vorgangs verwendet werden kann. Die Weiterleitung an diese 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. 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 der 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 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.

Das Aufrufen einer configCompleteRedirectUrl wirkt sich nur auf eine einzelne Nutzernachricht aus. Wenn ein Nutzer mehrmals versucht hat, eine Nachricht an eine Chat-App 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 bestimmte Nachricht aus. Andere Nachrichten werden nicht geändert.

Wenn ein MESSAGE-Interaktionsereignis auf diese Weise noch einmal gesendet wird, muss es mit dem ursprünglichen Ereignis identisch sein. In einigen Situationen können MESSAGE-Interaktionsereignisse jedoch abweichen. 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 normalen Nachricht antwortet, bevor sie sich bei Chat-App B authentifizieren. In diesem Fall empfängt 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. beim Anfordern der OAuth-Autorisierung für eine API, muss Ihre Anwendung eine Verknüpfung mit einer URL außerhalb von Chat herstellen, während die Nutzeridentität beibehalten wird. 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.

Obwohl die beiden IDs nicht genau identisch sind, können sie erzwungen werden. Wenn Sie den Wert der sub-Anforderung als users/{user} in Google Chat erzwingen möchten, stellen Sie dem Wert users/ voran. Der Anforderungswert von 123 entspricht beispielsweise dem Nutzernamen users/123 in Nachrichten an Ihre Chat-App.