In diesem Leitfaden wird erläutert, wie Sie die Methode create
für die Ressource membership
der Google Chat API verwenden, um einen Nutzer, eine Google-Gruppe oder eine Chat-App in einen Gruppenbereich einzuladen oder zu einem Gruppenbereich hinzuzufügen, der auch als Mitgliedererstellung bezeichnet wird. Wenn das angegebene Mitglied beim Erstellen einer Mitgliedschaft die Richtlinie für die automatische Annahme deaktiviert hat, wird es eingeladen und muss vor dem Beitritt die Einladung zum Gruppenbereich annehmen. Andernfalls wird das Mitglied beim Erstellen einer Mitgliedschaft direkt dem angegebenen Bereich hinzugefügt.
Die Ressource Membership
gibt an, ob ein menschlicher Nutzer oder die Google Chat-App zu einem Gruppenbereich eingeladen wurde, ihm angehört oder nicht.
Voraussetzungen
Python
- Python 3.6 oder höher
- Das Paketverwaltungstool pip
Die neuesten 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
- Ein Google Cloud-Projekt mit aktivierter und konfigurierter Google Chat API. Eine Anleitung dazu finden Sie unter Google Chat-App erstellen.
Für die Chat-App konfigurierte Autorisierung. Zum Erstellen einer Mitgliedschaft ist eine Nutzerauthentifizierung mit dem Autorisierungsbereich
chat.memberships
oderchat.memberships.app
erforderlich.
Node.js
- Node.js und npm
Die neuesten Google-Clientbibliotheken für Node.js. Führen Sie den folgenden Befehl in der Befehlszeile aus, um sie zu installieren:
npm install @google-cloud/local-auth @googleapis/chat
- Ein Google Cloud-Projekt mit aktivierter und konfigurierter Google Chat API. Eine Anleitung dazu finden Sie unter Google Chat-App erstellen.
Für die Chat-App konfigurierte Autorisierung. Zum Erstellen einer Mitgliedschaft ist eine Nutzerauthentifizierung mit dem Autorisierungsbereich
chat.memberships
oderchat.memberships.app
erforderlich.
Nutzer zu Gruppenbereichen einladen oder hinzufügen
Wenn Sie einen Nutzer in einen Gruppenbereich einladen oder ihm hinzufügen möchten, übergeben Sie in Ihrer Anfrage Folgendes:
- Geben Sie den Autorisierungsbereich
chat.memberships
an. - Rufen Sie die Methode
create
für die Ressourcemembership
auf. - Legen Sie
parent
auf den Ressourcennamen des Gruppenbereichs fest, in dem die Mitgliedschaft erstellt werden soll. - Setzen Sie
member
aufusers/{user}
, wobei{user}
die Person ist, für die Sie die Mitgliedschaft erstellen möchten, und entweder:- Die ID für die Person in der People API. Wenn beispielsweise für die People API person
resourceName
der Wertpeople/123456789
festgelegt ist, legen Siemembership.member.name
aufusers/123456789
fest. - Die ID für den Nutzer in der Directory API.
- Die E-Mail-Adresse des Nutzers. Beispiel:
users/222larabrown@gmail.com
oderusers/larabrown@cymbalgroup.com
. Wenn der Nutzer ein Google-Konto verwendet oder zu einer anderen Google Workspace-Organisation gehört, müssen Sie seine E-Mail-Adresse verwenden.
- Die ID für die Person in der People API. Wenn beispielsweise für die People API person
Im folgenden Beispiel wird ein Nutzer einem Gruppenbereich hinzugefügt:
Python
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
chat_membership_user_create.py
. Fügen Sie den folgenden Code in
chat_membership_user_create.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.memberships"] def main(): ''' Authenticates with Chat API via user credentials, then adds a user to a Chat space by creating a membership. ''' # 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().members().create( # The space in which to create a membership. parent = 'spaces/SPACE', # Specify which user the membership is for. body = { 'member': { 'name':'users/USER', 'type': 'HUMAN' } } ).execute() # Prints details about the created membership. print(result) if __name__ == '__main__': main()
Ersetzen Sie im Code Folgendes:
SPACE
: ein Name des Gruppenbereichs, den Sie über die Methodespaces.list
in der Chat API oder aus der URL eines Gruppenbereichs abrufen können.USER
: eine Nutzer-ID.
Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:
python3 chat_membership_user_create.py
Node.js
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
add-user-to-space.js
. Fügen Sie den folgenden Code in
add-user-to-space.js
ein:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Adds the user to the Chat space. * @return {!Promise<!Object>} */ async function addUserToSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.memberships', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.members.create({ parent: 'spaces/SPACE', requestBody: {member: {name: 'users/USER', type: 'HUMAN'}} }); } addUserToSpace().then(console.log);
Ersetzen Sie im Code Folgendes:
SPACE
: ein Name des Gruppenbereichs, den Sie über die Methodespaces.list
in der Chat API oder über die URL eines Gruppenbereichs abrufen können.USER
: eine Nutzer-ID.
Führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:
node add-user-to-space.js
Die Chat API gibt eine Instanz von membership
zurück, in der die erstellte Nutzermitgliedschaft angegeben ist.
Google-Gruppen zu Gruppenbereichen einladen oder hinzufügen
Wenn Sie eine Google-Gruppe zu einem Gruppenbereich einladen oder hinzufügen möchten, übergeben Sie in Ihrer Anfrage Folgendes:
- Geben Sie den Autorisierungsbereich
chat.memberships
an. - Rufen Sie die Methode
create
für die Ressourcemembership
auf. - Legen Sie
parent
auf den Ressourcennamen des Gruppenbereichs fest, in dem die Mitgliedschaft erstellt werden soll. - Legen Sie
groupMember
aufgroups/{group}
fest, wobei{group}
die Gruppen-ID ist, für die Sie die Mitgliedschaft erstellen möchten. Die ID für die Gruppe kann mithilfe der Cloud Identity API abgerufen werden. Wenn die Cloud Identity API beispielsweise eine Gruppe mit dem Namengroups/123456789
zurückgibt, legen Siemembership.groupMember.name
aufgroups/123456789
fest.
Google Groups-Gruppen können nicht zu Gruppenchats oder Direktnachrichten hinzugefügt werden, sondern nur zu einem benannten Gruppenbereich. Im folgenden Beispiel wird einem benannten Gruppenbereich eine Gruppe hinzugefügt:
Python
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
chat_membership_group_create.py
. Fügen Sie den folgenden Code in
chat_membership_group_create.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.memberships"] def main(): ''' Authenticates with Chat API via user credentials, then adds a group to a Chat space by creating a membership. ''' # 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().members().create( # The named space in which to create a membership. parent = 'spaces/SPACE', # Specify which group the membership is for. body = { 'groupMember': { 'name':'groups/GROUP', } } ).execute() # Prints details about the created membership. print(result) if __name__ == '__main__': main()
Ersetzen Sie im Code Folgendes:
SPACE
: ein Name des Gruppenbereichs, den Sie über die Methodespaces.list
in der Chat API oder aus der URL eines Gruppenbereichs abrufen können.GROUP
: eine Gruppen-ID.
Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:
python3 chat_membership_group_create.py
Node.js
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
add-group-to-space.js
. Fügen Sie den folgenden Code in
add-group-to-space.js
ein:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Adds the group to the Chat space. * @return {!Promise<!Object>} */ async function addUserToSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.memberships', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.members.create({ parent: 'spaces/SPACE', requestBody: {groupMember: {name: 'groups/GROUP'}} }); } addUserToSpace().then(console.log);
Ersetzen Sie im Code Folgendes:
SPACE
: ein Name des Gruppenbereichs, den Sie über die Methodespaces.list
in der Chat API oder über die URL eines Gruppenbereichs abrufen können.GROUP
: eine Gruppen-ID.
Führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:
node add-group-to-space.js
Die Chat API gibt eine Instanz von membership
zurück, in der die erstellte Gruppenmitgliedschaft angegeben ist.
Chat-App zu einem Gruppenbereich hinzufügen
Eine Chat-App kann einem Gruppenbereich keine andere App als Mitglied hinzufügen. Wenn Sie einem Gruppenbereich oder einer Direktnachricht zwischen zwei menschlichen Nutzern eine Chat-App hinzufügen möchten, übergeben Sie in Ihrer Anfrage Folgendes:
- Geben Sie den Autorisierungsbereich
chat.memberships.app
an. - Rufen Sie die Methode
create
für die Ressourcemembership
auf. - Legen Sie
parent
auf den Ressourcennamen des Gruppenbereichs fest, in dem die Mitgliedschaft erstellt werden soll. - Legen Sie
member
aufusers/app
fest. Dies ist ein Alias, der die App darstellt, die die Chat API aufruft.
Im folgenden Beispiel wird einem Gruppenbereich eine Chat-App hinzugefügt:
Python
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
chat_membership_app_create.py
. Fügen Sie den folgenden Code in
chat_membership_app_create.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.memberships.app"] def main(): ''' Authenticates with Chat API via user credentials, then adds the Chat app to a Chat 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().members().create( # The space in which to create a membership. parent = 'spaces/SPACE', # Set the Chat app as the entity that gets added to the space. # 'app' is an alias for the Chat app calling the API. body = { 'member': { 'name':'users/app', 'type': 'BOT' } } ).execute() # Prints details about the created membership. print(result) if __name__ == '__main__': main()
Ersetzen Sie im Code
SPACE
durch einen Namen für den Gruppenbereich, den Sie über die Methodespaces.list
in der Chat API oder über die URL eines Gruppenbereichs abrufen können.Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:
python3 chat_membership_app_create.py
Node.js
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
add-app-to-space.js
. Fügen Sie den folgenden Code in
add-app-to-space.js
ein:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Adds the app to the Chat space. * @return {!Promise<!Object>} */ async function addAppToSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.memberships.app', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.members.create({ parent: 'spaces/SPACE', requestBody: {member: {name: 'users/app', type: 'BOT'}} }); } addAppToSpace().then(console.log);
Ersetzen Sie im Code
SPACE
durch einen Namen für den Gruppenbereich, den Sie über die Methodespaces.list
in der Chat API oder über die URL eines Gruppenbereichs abrufen können.Führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:
node add-app-to-space.js
Die Chat API gibt eine Instanz von membership
zurück, in der die erstellte App-Mitgliedschaft angegeben ist.
Weitere Informationen
- Details zur Mitgliedschaft eines Nutzers oder einer Chat-App abrufen
- Mitglieder in einem Gruppenbereich auflisten
- Mitgliedschaft eines Nutzers in einem Google Chat-Bereich aktualisieren
- Einen Nutzer oder eine Chat-App aus einem Gruppenbereich entfernen