Modifier l'appartenance d'un utilisateur à un espace Google Chat

Ce guide explique comment utiliser le update() sur la ressource Membership de l'API Google Chat pour modifier les attributs sur l'adhésion, comme désigner un membre d'un espace comme gestionnaire ou modifier gestionnaire de l'espace à un membre de l'espace.

Si vous êtes administrateur Google Workspace, vous pouvez appeler la méthode update() pour mettre à jour l'appartenance de n'importe quel espace dans 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

<ph type="x-smartling-placeholder">

Modifier un abonnement

Pour modifier la composition d'un espace, indiquez les informations suivantes dans votre demande:

  • Spécifiez un champ d'application d'autorisation: <ph type="x-smartling-placeholder">
  • Appelez la méthode UpdateMembership().
  • Transmettez membership en tant qu'instance de Membership avec ce qui suit :
    • Le champ name défini sur l'appartenance à mettre à jour, qui inclut un ID d'espace et un ID de membre.
    • Les champs d'adhésion à mettre à jour sont définis sur les nouvelles valeurs.
  • Transmettez updateMask pour spécifier les aspects de l'appartenance à mettre à jour. comprend les éléments suivants:
    • role : rôle de l'utilisateur dans un espace Chat, qui détermine les actions autorisées dans l'espace. Les valeurs possibles sont les suivantes: <ph type="x-smartling-placeholder">
        </ph>
      • ROLE_MEMBER : membre de l'espace. L'utilisateur dispose d'autorisations de base, comme l'envoi de messages dans l'espace. Dans les conversations privées et de groupe sans nom, tous les participants ont ce rôle.
      • ROLE_MANAGER : gestionnaire d'espace. L'utilisateur dispose de toutes les autorisations de base, plus des autorisations administratives qui lui permettent de gérer l'espace, comme l'ajout ou supprimer des membres. Uniquement accepté dans les espaces où spaceType est SPACE (espaces nommés).

Désigner un membre de l'espace comme gestionnaire de l'espace en tant qu'utilisateur

L'exemple suivant appelle l'API Chat à l'aide de l'authentification des utilisateurs pour faire d'un membre ordinaire d'un espace un gestionnaire de l'espace en spécifiant role comme ROLE_MANAGER :

Node.js

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

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

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

  // Initialize request argument(s)
  const request = {
    membership: {
      // Replace SPACE_NAME and MEMBER_NAME here
      name: 'spaces/SPACE_NAME/members/MEMBER_NAME',
      // Replace ROLE_NAME here with ROLE_MEMBER or ROLE_MANAGER
      role: 'ROLE_NAME'
    },
    updateMask: {
      // The field paths to update.
      paths: ['role']
    }
  };

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

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

main().catch(console.error);

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

  • SPACE_NAME : ID de l'name de l'espace. Vous pouvez obtenir l'ID en appelant la méthode ListSpaces() ou à partir de l'URL de l'espace.
  • MEMBER_NAME: ID de l'abonnement name Vous pouvez obtenir l'ID en appelant la méthode ListMemberships() ou à partir du corps de la réponse renvoyée après avoir créé une adhésion de manière asynchrone avec l'API Chat.
  • ROLE_NAME: rôle mis à jour (ROLE_MANAGER).

L'API Google Chat met à jour l'abonnement spécifié en gestionnaire d'espace et renvoie une instance de Membership

Désigner un gestionnaire d'espace comme membre régulier

L'exemple suivant appelle l'API Chat à l'aide de l'authentification des utilisateurs pour faire d'un gestionnaire d'espace un membre ordinaire de l'espace en spécifiant role comme ROLE_MEMBER :

Node.js

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

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

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

  // Initialize request argument(s)
  const request = {
    membership: {
      // Replace SPACE_NAME and MEMBER_NAME here
      name: 'spaces/SPACE_NAME/members/MEMBER_NAME',
      // Replace ROLE_NAME here with ROLE_MEMBER or ROLE_MANAGER
      role: 'ROLE_NAME'
    },
    updateMask: {
      // The field paths to update.
      paths: ['role']
    }
  };

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

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

main().catch(console.error);

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

  • SPACE_NAME: ID du tag name Vous pouvez obtenir l'ID en appelant la méthode ListSpaces() ou à partir de l'URL de l'espace.
  • MEMBER_NAME : ID de l'name de l'appartenance. Pour obtenir cet identifiant, appelez la méthode ListMemberships() , ou à partir du corps de la réponse renvoyé après la création d'un abonnement de manière asynchrone avec l'API Chat.
  • ROLE_NAME: rôle mis à jour (ROLE_MEMBER).

L'API Google Chat met à jour l'appartenance spécifiée en tant que gestionnaire d'espace et renvoie une instance de Membership.

Désigner un membre standard d'un espace comme gestionnaire de l'espace en tant qu'application Chat

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

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é API.

Écrire un script qui appelle l'API Chat

L'exemple suivant appelle l'API Chat à l'aide de l'authentification de l'application pour faire d'un membre ordinaire d'un espace un gestionnaire de l'espace en spécifiant role comme ROLE_MANAGER dans le body qui spécifie les attributs d'appartenance mis à jour :

Python

  1. Dans votre répertoire de travail, créez un fichier nommé chat_membership_update_to_manager_app.py.
  2. Incluez le code suivant dans chat_membership_update_to_manager_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 updates a specified space member to change
        it from a regular member to a space manager.
        '''
    
        # 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().patch(
    
            # The membership to update, and the updated role.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            #
            # Replace MEMBERSHIP with a membership name.
            # Obtain the membership name from the membership of Chat API.
            name='spaces/SPACE/members/MEMBERSHIP',
            updateMask='role',
            body={'role': 'ROLE_MANAGER'}
    
          ).execute()
    
        # Prints details about the updated membership.
        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: un nom d'espace, qui que vous pouvez obtenir Méthode spaces.list dans l'API Chat ou depuis l'URL d'un espace.

    • MEMBERSHIP : nom d'un abonnement, que vous pouvez obtenir à partir de la méthode spaces.members.list de l'API Chat.

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

    python3 chat_membership_update_to_manager_app.py

Désigner un gestionnaire d'espace comme membre ordinaire dans l'application Chat

L'authentification des applications nécessite une approbation de l'administrateur unique.

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 &gt; 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

L'exemple suivant appelle l'API Chat à l'aide de authentification des applications pour désigner un gestionnaire d'espace comme membre ordinaire de l'espace en spécifiant role comme ROLE_MEMBER dans le body qui spécifie les attributs d'appartenance mis à jour:

<ph type="x-smartling-placeholder">

Python

  1. Dans votre répertoire de travail, créez un fichier nommé chat_membership_update_to_member_app.py.
  2. Incluez le code suivant dans chat_membership_update_to_member_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 via user credentials,
        then updates a specified space member to change
        it from a regular member to a space manager.
        '''
    
        # 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().patch(
    
            # The membership to update, and the updated role.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            #
            # Replace MEMBERSHIP with a membership name.
            # Obtain the membership name from the membership of Chat API.
            name='spaces/SPACE/members/MEMBERSHIP',
            updateMask='role',
            body={'role': 'ROLE_MEMBER'}
    
          ).execute()
    
        # Prints details about the updated membership.
        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 créer le point de terminaison de service de l'API Chat.

    • SPACE: un nom d'espace, qui que vous pouvez obtenir Méthode spaces.list dans l'API Chat ou depuis l'URL d'un espace.

    • MEMBERSHIP: un nom d'appartenance, que vous pouvez obtenir Méthode spaces.members.list dans l'API Chat.

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

    python3 chat_membership_update_to_member_app.py

Modifier les abonnements en tant qu'administrateur Google Workspace

Si vous êtes administrateur Google Workspace, vous pouvez appeler le update() pour modifier les adhésions à 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.