In diesem Leitfaden wird erläutert, wie Sie die Methode get
für eine Space
-Ressource der Google Chat API verwenden, um Details zu einem Gruppenbereich wie den Anzeigenamen, die Beschreibung und Richtlinien abzurufen.
Die Ressource Space
stellt einen Ort dar, an dem Nutzer und Chat-Apps Nachrichten senden, Dateien freigeben und zusammenarbeiten können. Es gibt verschiedene Arten von Gruppenbereichen:
- Direktnachrichten (DMs) sind Unterhaltungen zwischen zwei Nutzern oder einem Nutzer und einer Chat-App.
- Gruppenchats sind Unterhaltungen zwischen drei oder mehr Nutzern und Chat-Apps.
- Benannte Gruppenbereiche sind persistente Orte, an denen Nutzer Nachrichten senden, Dateien freigeben und zusammenarbeiten.
Durch die Authentifizierung über die Anwendungsauthentifizierung kann eine Chat-Anwendung Bereiche erhalten, auf die sie in Google Chat Zugriff hat, z. B. Gruppenbereiche, in denen die Anwendung Mitglied ist. Mit der Nutzerauthentifizierung können Sie Gruppenbereiche erhalten, auf die der authentifizierte Nutzer Zugriff hat.
Voraussetzungen
Python
- Python 3.6 oder höher
- Das Paketverwaltungstool pip
Die aktuellen Google-Clientbibliotheken für Python. Führen Sie den folgenden Befehl in der Befehlszeile aus, um sie zu installieren oder zu aktualisieren:
pip3 install --upgrade google-api-python-client google-auth-oauthlib google-auth
- Ein Google Cloud-Projekt, in dem die Google Chat API aktiviert und konfiguriert ist. Eine entsprechende Anleitung finden Sie unter Google Chat-App erstellen.
Für die Chat-App konfigurierte Autorisierung. Das Abrufen eines Gruppenbereichs unterstützt die beiden folgenden Authentifizierungsmethoden:
- Nutzerauthentifizierung mit dem Autorisierungsbereich
chat.spaces.readonly
oderchat.spaces
. - App-Authentifizierung mit dem Autorisierungsbereich
chat.bot
.
- Nutzerauthentifizierung mit dem Autorisierungsbereich
Node.js
- Node.js und npm
Aktuelle Google-Clientbibliotheken für Node.js Führen Sie den folgenden Befehl über die Befehlszeile aus, um sie zu installieren:
npm install @google-cloud/local-auth @googleapis/chat
- Ein Google Cloud-Projekt, in dem die Google Chat API aktiviert und konfiguriert ist. Eine entsprechende Anleitung finden Sie unter Google Chat-App erstellen.
Für die Chat-App konfigurierte Autorisierung. Das Abrufen eines Gruppenbereichs unterstützt die beiden folgenden Authentifizierungsmethoden:
- Nutzerauthentifizierung mit dem Autorisierungsbereich
chat.spaces.readonly
oderchat.spaces
. - App-Authentifizierung mit dem Autorisierungsbereich
chat.bot
.
- Nutzerauthentifizierung mit dem Autorisierungsbereich
Gruppenbereich anfordern
Um einen Gruppenbereich in Google Chat zu erhalten, übergeben Sie in Ihrer Anfrage Folgendes:
- Geben Sie für die Anwendungsauthentifizierung den Autorisierungsbereich
chat.bot
an. Geben Sie für die Nutzerauthentifizierung den Autorisierungsbereichchat.spaces.readonly
oderchat.spaces
an. - Rufen Sie die Methode
get
für die RessourceSpace
auf und übergeben Sie denname
des abzurufenden Bereichs. Den Namen des Gruppenbereichs können Sie der Gruppenbereichsressource in Google Chat oder der URL eines Gruppenbereichs entnehmen.
Details zum Gruppenbereich mit Nutzerauthentifizierung abrufen
So rufen Sie mit der Nutzerauthentifizierung Details zum Gruppenbereich ab:
Python
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
chat_space_get_user.py
. Fügen Sie den folgenden Code in
chat_space_get_user.py
ein:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.spaces.readonly"] def main(): ''' Authenticates with Chat API via user credentials, then gets details about a specified space. ''' # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) # Use the service endpoint to call Chat API. result = chat.spaces().get( # The space to get. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. name='spaces/SPACE' ).execute() # Prints details about the space. print(result) if __name__ == '__main__': main()
Ersetzen Sie im Code
SPACE
durch den Namen eines Gruppenbereichs, den Sie mit der Methodespaces.list
in der Chat API oder aus der URL eines Gruppenbereichs abrufen können.Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:
python3 chat_space_get_user.py
Node.js
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
get-space.js
. Fügen Sie den folgenden Code in
get-space.js
ein:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Gets details about a Chat space by name. * @return {!Object} */ async function getSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.spaces.readonly', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.get({name: 'spaces/SPACE'}); } getSpace().then(console.log);
Ersetzen Sie im Code
SPACE
durch den Namen eines Gruppenbereichs, den Sie mit der Methodespaces.list
in der Chat API oder aus der URL eines Gruppenbereichs abrufen können.Führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:
node get-space.js
Die Chat API gibt eine Instanz von Space
zurück, die Details zum angegebenen Bereich enthält.
Details zum Gruppenbereich mit App-Authentifizierung abrufen
So rufen Sie mit der App-Authentifizierung Details zum Gruppenbereich ab:
Python
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
chat_space_get_app.py
. Fügen Sie den folgenden Code in
chat_space_get_app.py
ein:from google.oauth2 import service_account from apiclient.discovery import build # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', credentials=CREDENTIALS) # Use the service endpoint to call Chat API. result = chat.spaces().get( # The space to get. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. name='spaces/SPACE' ).execute() print(result)
Ersetzen Sie im Code
SPACE
durch den Namen eines Gruppenbereichs, den Sie in der Chat API über die Methodespaces.list()
oder aus der URL eines Gruppenbereichs abrufen können.Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:
python3 chat_space_get_app.py
Node.js
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
app-get-space.js
. Fügen Sie den folgenden Code in
app-get-space.js
ein:const chat = require('@googleapis/chat'); /** * Gets details about a Chat space by name. * @return {!Promise<!Object>} */ async function getSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.bot', ]; const auth = new chat.auth.GoogleAuth({ scopes, keyFilename: 'credentials.json', }); const authClient = await auth.getClient(); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.get({name: 'spaces/SPACE'}); } getSpace().then(console.log);
Ersetzen Sie im Code
SPACE
durch den Namen eines Gruppenbereichs, den Sie mit der Methodespaces.list
in der Chat API oder aus der URL eines Gruppenbereichs abrufen können.Führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:
node app-get-space.js
Die Chat API gibt eine Instanz von Space
zurück, die Details zum angegebenen Bereich enthält.
Weitere Informationen
- Erstellen Sie einen Gruppenbereich.
- Richten Sie einen Gruppenbereich ein.
- Gruppenbereiche auflisten.
- Gruppenbereiche aktualisieren
- Gruppenbereiche löschen
- Suchen Sie einen Gruppenbereich für Direktnachrichten.