Mit dem erweiterten Chat-Dienst können Sie die Google Chat API in Apps Script verwenden. Mit dieser API können Skripts Chat-Gruppenbereiche suchen, erstellen und ändern, Mitglieder zu Gruppenbereichen hinzufügen oder daraus entfernen sowie Nachrichten mit Text, Karten, Anhängen und Reaktionen lesen oder posten.
Vorbereitung
- Eine in der Google Cloud Console auf der Seite zur Chat API-Konfiguration konfigurierte Google Chat-App, die auf Apps Script basiert. Das Apps Script-Projekt der App muss ein Standard-Google Cloud-Projekt verwenden und nicht das Standardprojekt, das automatisch für Apps Script-Projekte erstellt wird. Informationen zum Erstellen einer kompatiblen Google Chat-App finden Sie unter Google Chat-App mit Google Apps Script erstellen.
- Für die Chat-App konfigurierte Authentifizierung. Wenn eine Aktion im Namen eines Nutzers ausgeführt werden soll, ist eine Nutzerauthentifizierung erforderlich. Wenn eine Aktion als Chat-App ausgeführt wird, ist eine App-Authentifizierung mit einem Dienstkonto erforderlich. Informationen dazu, welche Form der Authentifizierung von einer Chat API-Methode unterstützt wird, finden Sie unter Arten der erforderlichen Authentifizierung für Google Chat API-Aufrufe.
Referenz
Weitere Informationen zu diesem Dienst finden Sie in der Referenzdokumentation zur Chat API. Wie alle erweiterten Dienste in Apps Script verwendet der Chat-Dienst dieselben Objekte, Methoden und Parameter wie die öffentliche API.
Beispielcode
In diesen Beispielen wird gezeigt, wie Sie mit dem erweiterten Dienst häufige Google Chat API-Aktionen ausführen.
Nachricht mit Nutzeranmeldedaten posten
Das folgende Beispiel zeigt, wie Sie im Namen des Nutzers eine Nachricht in einem Chatbereich posten.
Fügen Sie der Datei
appsscript.json
des Apps Script-Projekts den Autorisierungsbereichchat.messages.create
hinzu:"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.create" ]
Fügen Sie dem Code des Apps Script-Projekts eine Funktion wie diese hinzu:
Nachricht mit App-Anmeldedaten posten
Im folgenden Beispiel wird gezeigt, wie Sie im Namen der App eine Nachricht in einen Chat-Bereich posten. Wenn Sie den erweiterten Chat-Dienst mit einem Dienstkonto verwenden, müssen Sie keine Autorisierungsbereiche in appsscript.json
angeben. Weitere Informationen zur Authentifizierung mit Dienstkonten finden Sie unter Als Google Chat-App authentifizieren.
Gruppenbereich erstellen
Das folgende Beispiel zeigt, wie Sie Informationen zu einem Chatbereich abrufen.
Fügen Sie der Datei
appsscript.json
des Apps Script-Projekts den Autorisierungsbereichchat.spaces.readonly
hinzu:"oauthScopes": [ "https://www.googleapis.com/auth/chat.spaces.readonly" ]
Fügen Sie dem Code des Apps Script-Projekts eine Funktion wie diese hinzu:
Gruppenbereich erstellen
Im folgenden Beispiel wird gezeigt, wie Sie einen Chat-Gruppenbereich erstellen.
Fügen Sie der Datei
appsscript.json
des Apps Script-Projekts den Autorisierungsbereichchat.spaces.create
hinzu:"oauthScopes": [ "https://www.googleapis.com/auth/chat.spaces.create" ]
Fügen Sie dem Code des Apps Script-Projekts eine Funktion wie diese hinzu:
Mitgliedschaften auflisten
Im folgenden Beispiel wird gezeigt, wie Sie alle Mitglieder eines Chatbereichs auflisten.
Fügen Sie der Datei
appsscript.json
des Apps Script-Projekts den Autorisierungsbereichchat.memberships.readonly
hinzu:"oauthScopes": [ "https://www.googleapis.com/auth/chat.memberships.readonly" ]
Fügen Sie dem Code des Apps Script-Projekts eine Funktion wie diese hinzu:
Fehlerbehebung
Wenn Sie auf Error 400: invalid_scope
mit der Fehlermeldung Some requested scopes cannot be shown
stoßen, haben Sie im Apps Script-Projekt in der Datei appsscript.json
keine Autorisierungsbereiche angegeben. In den meisten Fällen ermittelt Apps Script automatisch, welche Bereiche ein Skript benötigt. Wenn Sie jedoch den erweiterten Chat-Dienst verwenden, müssen Sie die Autorisierungsbereiche, die Ihr Skript verwendet, manuell der Manifestdatei Ihres Apps Script-Projekts hinzufügen. Weitere Informationen finden Sie unter Explizite Bereiche festlegen.
Fügen Sie die entsprechenden Autorisierungsbereiche in die Datei appsscript.json
des Apps Script-Projekts als Teil des Arrays oauthScopes
ein, um den Fehler zu beheben. Wenn Sie beispielsweise die Methode spaces.messages.create
aufrufen möchten, fügen Sie Folgendes hinzu:
"oauthScopes": [
"https://www.googleapis.com/auth/chat.messages.create"
]
Einschränkungen und Überlegungen
Der erweiterte Chatdienst unterstützt Folgendes nicht:
- Die Chat API-Methode
media.download
. - Chat API-Methoden in der Entwicklervorschau verfügbar
Verwenden Sie stattdessen UrlFetchApp
, um einen Nachrichtenanhang herunterzuladen oder eine Developer Preview-Methode aufzurufen.