Exclure un membre d'un espace

Ce guide explique comment utiliser la méthode delete() sur la ressource Membership de l'API Google Chat pour supprimer des membres d'un espace, également appelé "suppression d'un accès". Vous ne pouvez pas supprimer les gestionnaires d'un espace si il est le seul gestionnaire de l'espace. Désignez un autre utilisateur comme gestionnaire de l'espace avant de supprimer ces adhésions.

Si vous êtes administrateur Google Workspace, vous pouvez supprimer des utilisateurs, Google Groupes ou les applications Chat depuis n'importe quel espace de votre organisation Google Workspace.

La Ressource Membership indique si un utilisateur humain ou une application Google Chat est invité, est inclus ou absent d'un espace.

Prérequis

Node.js

Exclure un membre d'un espace en tant qu'utilisateur

Pour supprimer un utilisateur, un groupe Google ou une application Chat d'une espace avec authentification utilisateur, transmettre les éléments suivants dans votre demande:

  • Spécifiez le champ d'application de l'autorisation chat.memberships. L'utilisateur autorisé doit être autorisé à supprimer l'utilisateur ou le groupe Google de l'espace. Pour supprimer une application Chat, spécifiez le champ d'application chat.memberships.app (les applications ne peuvent supprimer que leur propre appartenance, et non celle d'autres applications). Nous vous recommandons de choisir un champ d'application restrictif permettant toujours à votre application de fonctionner.
  • Appelez la méthode DeleteMembership().
  • Transmettez l'name de l'abonnement à supprimer. Si l'abonnement appartient au groupe seul gestionnaire d'un espace, désignez un autre utilisateur comme gestionnaire avant suppression de cet abonnement.

Pour supprimer un abonnement avec authentification des utilisateurs :

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);

Pour exécuter cet exemple, remplacez les éléments suivants :

  • SPACE_NAME : ID de l'name de l'espace. Pour obtenir cet identifiant, appelez la méthode ListSpaces() ou à partir de l'URL de l'espace.
  • MEMBER_NAME : ID de l'name du membre. Pour obtenir cet identifiant, appelez la méthode ListMemberships() .

Si la requête aboutit, le corps de la réponse renvoie l'appartenance avec 'state': 'NOT_A_MEMBER', ce qui indique que le membre ne se trouve plus dans l'espace.

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

Exclure un membre d'un espace en tant qu'application Chat

L'authentification de l'application nécessite approbation de l'administrateur.

Pour supprimer un utilisateur, un groupe Google ou une application Chat d'une espace avec authentification de l'application, pass les éléments suivants dans votre demande:

  • Spécifiez le champ d'application de l'autorisation chat.app.memberships. La suppression de membres d'un gestionnaire d'espace dans les espaces créés par des applications Chat.
  • Appelez la méthode delete. le Ressource membership.
  • Transmettez l'name de l'abonnement à supprimer. Si l'appartenance appartient au seul gestionnaire de l'espace, attribuez un autre utilisateur en tant que gestionnaire de l'espace avant de supprimer cette appartenance.

Créer une clé API

Pour appeler une méthode d'API Preview développeur, vous devez utiliser une version Preview développeur non publique du document de découverte de l'API. Pour authentifier la requête, vous devez transmettre une clé API.

Pour créer la clé API, ouvrez le projet Google Cloud de votre application et procédez comme suit :

  1. Dans la console Google Cloud, accédez à Menu  > API et services > Identifiants.

    Accéder à "Identifiants"

  2. Cliquez sur Créer des identifiants > Clé API :
  3. Votre nouvelle clé API s'affiche.
    • Cliquez sur Copier  pour copier votre clé API et l'utiliser dans le code de votre application. La clé API peut aussi être figurant dans la section "Clés API" des identifiants de votre projet.
    • Cliquez sur Restreindre la clé pour mettre à jour les paramètres avancés et limiter l'utilisation de votre clé API. Pour en savoir plus, consultez Appliquer des restrictions de clés API.

Écrire un script qui appelle l'API Chat

Pour supprimer un abonnement avec authentification de l'application:

Python

  1. Dans votre répertoire de travail, créez un fichier nommé chat_membership_delete_app.py.
  2. Ajoutez le code suivant dans chat_membership_delete_app.py:

    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. Dans le code, remplacez les éléments suivants :

    • API_KEY: clé API que vous avez créée pour compiler le point de terminaison du service pour l'API Chat.

    • SPACE: nom d'espace, que vous pouvez obtenir à partir de la méthode spaces.list. dans l'API Chat ou depuis l'URL d'un espace.

    • MEMBER: nom d'appartenance que vous pouvez obtenir à l'aide de la méthode spaces.members.list dans l'API Chat. Pour supprimer l'abonnement d'une application, remplacez MEMBER avec app.

  4. Dans votre répertoire de travail, créez et exécutez l'exemple :

    python3 chat_membership_delete_app.py

Si la requête aboutit, le corps de la réponse renvoie l'appartenance avec 'state': 'NOT_A_MEMBER', qui indique que le membre ne fait plus partie de l'espace.

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

Limites et points à noter

Supprimer des utilisateurs ou des groupes Google d'un espace en tant qu'administrateur Google Workspace

Si vous êtes administrateur Google Workspace, vous pouvez appeler le DeleteMembership() pour supprimer des utilisateurs, des groupes Google ou Applis de chat depuis n'importe quel espace Google Workspace organisation.

Pour appeler cette méthode en tant qu'administrateur Google Workspace, procédez comme suit:

Pour en savoir plus et obtenir des exemples, consultez Gérer les espaces Google Chat en tant qu'administrateur Google Workspace.