Ein Mitglied aus einem Gruppenbereich entfernen

In diesem Leitfaden wird erläutert, wie Sie mit der Methode delete() der Ressource Membership der Google Chat API Mitglieder aus einem Gruppenbereich entfernen, was auch als Löschen einer Mitgliedschaft bezeichnet wird. Administratoren eines Gruppenbereichs können nicht entfernt werden, wenn sie der einzige Administrator eines Gruppenbereichs sind. Weisen Sie vor dem Entfernen dieser Mitgliedschaften einen anderen Nutzer als Administrator des Gruppenbereichs zu.

Als Google Workspace-Administrator können Sie Nutzer, Google Groups oder Chat-Apps aus jedem Gruppenbereich in Ihrer Google Workspace-Organisation entfernen.

Die Ressource Membership gibt an, ob ein menschlicher Nutzer oder die Google Chat-App zu einem Gruppenbereich eingeladen wird, ihm angehört oder nicht.

Vorbereitung

Node.js

  • Ein Google Chat-Bereich Informationen zum Erstellen mit der Google Chat API finden Sie unter Gruppenbereich erstellen. Eine Anleitung zum Erstellen in Google Chat finden Sie in der Hilfe.

Ein Mitglied als Nutzer aus einem Gruppenbereich entfernen

Wenn Sie einen Nutzer, eine Google-Gruppe oder eine Chat-App aus einem Gruppenbereich mit Nutzerauthentifizierung entfernen möchten, geben Sie Folgendes in Ihrer Anfrage an:

  • Geben Sie den Autorisierungsbereich chat.memberships an. Der autorisierende Nutzer muss die Berechtigung haben, den Nutzer oder die Google-Gruppe aus dem Gruppenbereich zu entfernen. Wenn Sie eine Chat-App entfernen möchten, geben Sie den Autorisierungsbereich chat.memberships.app an. Apps können nur ihre eigene Mitgliedschaft löschen, nicht die anderer Apps. Wählen Sie als Best Practice den restriktivsten Bereich aus, in dem Ihre App noch funktioniert.
  • Rufen Sie die Methode DeleteMembership() auf.
  • Übergib die name der zu löschenden Mitgliedschaft. Wenn die Mitgliedschaft dem einzigen Administrator eines Gruppenbereichs gehört, weisen Sie vor dem Löschen dieser Mitgliedschaft einen anderen Nutzer als Administrator des Gruppenbereichs zu.

So löschst du eine Mitgliedschaft mit Nutzerauthentifizierung:

Node.js

chat/client-libraries/cloud/delete-space-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.delete'];

// This sample shows how to delete a space with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    // Replace SPACE_NAME here
    name: 'spaces/SPACE_NAME'
  };

  // Make the request
  const response = await chatClient.deleteSpace(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

Ersetzen Sie zum Ausführen dieses Beispiels Folgendes:

  • SPACE_NAME: die ID aus der name des Gruppenbereichs. Sie können die ID durch Aufrufen der Methode ListSpaces() oder aus der URL des Gruppenbereichs abrufen.
  • MEMBER_NAME: die ID aus der name des Mitglieds. Sie können die ID abrufen, indem Sie die Methode ListMemberships() aufrufen.

Bei Erfolg wird im Antworttext die Mitgliedschaft mit 'state': 'NOT_A_MEMBER' zurückgegeben, was bedeutet, dass das Mitglied nicht mehr im Gruppenbereich ist.

{
    "name": "spaces/SPACE_NAME/members/MEMBER_NAME",
    "state": "NOT_A_MEMBER"
}

Mitglieder über eine Chat-App aus einem Gruppenbereich entfernen

Für die App-Authentifizierung ist eine einmalige Administratorgenehmigung erforderlich.

Wenn Sie einen Nutzer, eine Google-Gruppe oder eine Chat-App aus einem Gruppenbereich mit App-Authentifizierung entfernen möchten, geben Sie Folgendes in Ihrer Anfrage an:

  • Geben Sie den chat.app.memberships Autorisierungsbereich an. Das Löschen der Mitgliedschaft eines Administrators eines Gruppenbereichs wird nur in Gruppenbereichen unterstützt, die von Chat-Apps erstellt wurden.
  • Rufen Sie die Methode delete für die Ressource membership auf.
  • Übergeben Sie das name der zu löschenden Mitgliedschaft. Wenn die Mitgliedschaft dem einzigen Administrator eines Gruppenbereichs gehört, weisen Sie vor dem Löschen dieser Mitgliedschaft einen anderen Nutzer als Administrator des Gruppenbereichs zu.

API-Schlüssel erstellen

Zum Aufrufen einer Developer Preview API-Methode müssen Sie eine nicht öffentliche Entwicklervorschauversion des API-Discovery-Dokuments verwenden. Zur Authentifizierung der Anfrage müssen Sie einen API-Schlüssel übergeben.

Öffnen Sie zum Erstellen des API-Schlüssels das Google Cloud-Projekt Ihrer App und führen Sie die folgenden Schritte aus:

  1. Öffnen Sie in der Google Cloud Console das Dreistrich-Menü > APIs und Dienste > Anmeldedaten.

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen > API-Schlüssel.
  3. Ihr neuer API-Schlüssel wird angezeigt.
    • Klicken Sie auf „Kopieren“ , um den API-Schlüssel zur Verwendung im Code Ihrer App zu kopieren. Den API-Schlüssel finden Sie auch im Bereich „API-Schlüssel“ der Anmeldedaten Ihres Projekts.
    • Klicken Sie auf Schlüssel einschränken, um die erweiterten Einstellungen zu aktualisieren und die Verwendung Ihres API-Schlüssels einzuschränken. Weitere Informationen finden Sie unter Einschränkungen für API-Schlüssel anwenden.

Script zum Aufrufen der Chat API schreiben

So löschen Sie eine Mitgliedschaft mit App-Authentifizierung:

Python

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen chat_membership_delete_app.py.
  2. Fügen Sie in chat_membership_delete_app.py den folgenden Code ein:

    from google.oauth2 import service_account
    from apiclient.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.app.memberships"]
    
    def main():
        '''
        Authenticates with Chat API using app authentication,
        then deletes the specified membership.
        '''
    
        # Specify service account details.
        creds = (
            service_account.Credentials.from_service_account_file('credentials.json')
            .with_scopes(SCOPES)
        )
    
        # Build a service endpoint for Chat API.
        chat = build('chat', 'v1', credentials=creds, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY')
    
        # Use the service endpoint to call Chat API.
        result = chat.spaces().members().delete(
    
            # The membership to delete.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            #
            # Replace MEMBER with a membership name.
            # Obtain the membership name from the memberships resource of
            # Chat API. To delete a Chat app's membership, replace MEMBER
            # with app; an alias for the app calling the API.
            name='spaces/SPACE/members/MEMBER'
    
        ).execute()
    
        # Print Chat API's response in your command line interface.
        # When deleting a membership, the response body is empty.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Ersetzen Sie im Code Folgendes:

    • API_KEY: Der API-Schlüssel, den Sie zum Erstellen des Dienstendpunkts für die Chat API erstellt haben.

    • SPACE: ein Name des Gruppenbereichs, den Sie über die Methode spaces.list in der Chat API oder über die URL eines Gruppenbereichs abrufen können.

    • MEMBER: ein Mitgliedsname, den du über die spaces.members.list-Methode in der Chat API abrufen kannst. Wenn Sie die Mitgliedschaft einer App löschen möchten, ersetzen Sie MEMBER durch app.

  4. Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:

    python3 chat_membership_delete_app.py

Bei Erfolg wird im Antworttext die Mitgliedschaft mit 'state': 'NOT_A_MEMBER' zurückgegeben, was bedeutet, dass das Mitglied nicht mehr im Gruppenbereich ist.

{
    "name": "spaces/SPACE/members/MEMBER",
    "state": "NOT_A_MEMBER"
}

Einschränkungen und Überlegungen

  • Bei der App-Authentifizierung können Nutzer über eine Chat-App entfernt werden, nicht jedoch über Google Groups.

Als Google Workspace-Administrator Nutzer oder Google-Gruppen aus einem Gruppenbereich entfernen

Als Google Workspace-Administrator können Sie die Methode DeleteMembership() aufrufen, um Nutzer, Google Groups oder Chat-Apps aus einem beliebigen Gruppenbereich in Ihrer Google Workspace-Organisation zu entfernen.

So rufen Sie diese Methode als Google Workspace-Administrator auf:

  • Rufen Sie die Methode mit Nutzerauthentifizierung auf und geben Sie einen Autorisierungsbereich an, der den Aufruf der Methode mit Administratorberechtigungen unterstützt.
  • Geben Sie in Ihrer Anfrage den Abfrageparameter useAdminAccess an true.

Weitere Informationen und Beispiele finden Sie unter Google Chat-Gruppenbereiche als Google Workspace-Administrator verwalten.