Mit dem Advanced Chat-Dienst können Sie die Google Chat API in Apps Script verwenden. Mit dieser API können Skripts Chatbereiche finden, erstellen und ändern, Mitglieder zu Gruppenbereichen hinzufügen oder daraus entfernen sowie Nachrichten mit Text, Karten, Anhängen und Reaktionen lesen oder posten.
Voraussetzungen
- Eine Apps Script-App für Google Chat, die auf der Konfigurationsseite der Chat API in der Google Cloud Console konfiguriert wurde. Das Apps Script-Projekt der Anwendung muss ein Google Cloud-Standardprojekt verwenden, nicht das automatisch für Apps Script-Projekte automatisch erstellte Standardprojekt. Informationen zum Erstellen einer kompatiblen Google Chat-App finden Sie unter Google Chat-App mit Apps Script erstellen.
- Für die Chat-App konfigurierte Authentifizierung. Für die Durchführung einer Aktion im Namen eines Nutzers ist die Nutzerauthentifizierung erforderlich. Wenn Sie eine Aktion in der Chat-Anwendung ausführen möchten, ist eine Anwendungsauthentifizierung mit einem Dienstkonto erforderlich. Informationen dazu, welche Form der Authentifizierung von einer Chat API-Methode unterstützt wird, finden Sie unter Arten erforderlicher 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 gängige Google Chat API-Aktionen mit dem erweiterten Dienst 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
Das folgende Beispiel zeigt, wie Sie im Namen der Anwendung eine Nachricht in einem Chatbereich 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 anfordern
Im folgenden Beispiel wird gezeigt, 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 Chatbereich 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
Das folgende Beispiel zeigt, wie alle Mitglieder eines Chatbereichs aufgelistet werden.
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 Error 400: invalid_scope
mit der Fehlermeldung Some requested scopes cannot be shown
angezeigt wird, haben Sie in der Datei appsscript.json
des Apps Script-Projekts 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. Siehe Explizite Bereiche festlegen.
Fügen Sie der Datei appsscript.json
des Apps Script-Projekts die entsprechenden Autorisierungsbereiche als Teil des Arrays oauthScopes
hinzu, um den Fehler zu beheben. Um beispielsweise die Methode spaces.messages.create
aufzurufen, fügen Sie Folgendes hinzu:
"oauthScopes": [
"https://www.googleapis.com/auth/chat.messages.create"
]
Limits und Überlegungen
Folgende Funktionen werden vom erweiterten Chat-Dienst nicht unterstützt:
- Die Chat API-Methode
media.download
. - In der Entwicklervorschau verfügbare Chat API-Methoden
Wenn Sie einen Nachrichtenanhang herunterladen oder eine Entwicklervorschaumethode aufrufen möchten, verwenden Sie stattdessen UrlFetchApp
.