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 schon für sich genommen leistungsstark, funktionieren aber oft in Kombination mit anderen Systemen 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 empfangen und darauf reagieren kann. Wenn Sie eine interaktive Chat-App erstellen möchten, führen Sie eine der folgenden Kurzanleitungen aus, je nach der App-Architektur, die Sie verwenden möchten:- HTTP-Dienst mit Google Cloud Functions
- Google Apps Script
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
Konfiguration der Chat-App 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 folgender Form:
{
"actionResponse": {
"type": "REQUEST_CONFIG",
"url": "CONFIGURATION_URL"
}
}
Dadurch wird Google Chat angewiesen, dem Nutzer einen privaten Prompt zu präsentieren. CONFIGURATION_URL ist ein Link, den der Nutzer für zusätzliche Authentifizierung, Autorisierung oder Konfiguration aufrufen kann. Eine REQUEST_CONFIG-Antwort schließt eine reguläre Antwortnachricht aus. Text, Karten oder andere Attribute werden ignoriert.
Konfigurationsanfrage abschließen
Jedes
MESSAGE, ADDED_TO_SPACE, und APP_COMMAND 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. 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:
- Der Prompt, der dem initiierenden Nutzer angezeigt wurde, wird gelöscht.
- Die ursprüngliche Nachricht wird öffentlich gemacht und ist für andere Mitglieder des Gruppenbereichs sichtbar.
- Die ursprüngliche Nachricht wird ein zweites Mal an dieselbe Chat-App gesendet.
Der Aufruf einer configCompleteRedirectUrl wirkt sich nur auf eine einzelne Nutzernachricht aus.
Wenn ein Nutzer versucht hat, einer Chat-App mehrmals eine Nachricht zu senden, und dadurch mehrere Prompts erhalten hat, wirkt sich das Klicken auf einen bestimmten Prompt 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 er sich bei Chat-App B authentifiziert. 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 App auf eine URL außerhalb von Google Chat verlinken, wobei die Nutzeridentität beibehalten werden muss. Die beste Möglichkeit, den Nutzer in diesen Fällen zu identifizieren, besteht darin, die Ziel-App mit der Google-Anmeldung zu schützen.
Verwenden Sie das
Identitätstoken
das bei der Anmeldung ausgestellt wurde, um die Nutzer-ID abzurufen. Der Anspruch sub 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 des Anspruchs sub in ein Google Chat users/{user} umwandeln möchten, stellen Sie dem Wert users/ voran. Der Anspruchswert 123 entspricht
dem Nutzernamen users/123 in Nachrichten an Ihre
Chat-App.
Weitere Informationen
- Nutzerinteraktionen empfangen und darauf reagieren
- Im Beispiel für die App „Mein Profil“ wird das Identitätstoken aus der Google-Anmeldeantwort verwendet, um den Nutzer zu identifizieren.