Inviter ou ajouter un utilisateur, un groupe Google ou une application Google Chat à un espace

Ce guide explique comment utiliser la méthode create sur la ressource membership. de l'API Google Chat pour inviter ou ajouter un utilisateur, un groupe Google Application de chat à un espace, également appelé "création d'un . Lors de la création d'un abonnement, si le membre spécifié possède ses règle d'acceptation automatique désactivée, l'utilisateur est invité et doit accepter l'espace invitation avant de vous inscrire. Sinon, la création d'un abonnement ajoute le membre directement à l'espace spécifié.

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

Prérequis

Python

  • Python 3.6 ou version ultérieure
  • La fonction pip outil de gestion des packages
  • Les dernières bibliothèques clientes Google pour Python. Pour les installer ou les mettre à jour, exécutez la commande suivante dans votre interface de ligne de commande:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • Un projet Google Cloud dans lequel l'API Google Chat est activée et configurée Pour connaître la procédure à suivre, consultez Créer une application Google Chat
  • Autorisation configurée pour l'application Chat. Création... un abonnement nécessite Authentification des utilisateurs avec le champ d'application d'autorisation chat.memberships ou chat.memberships.app.

Node.js

  • Node.js et npm
  • Les dernières bibliothèques clientes Google pour Node.js. Pour les installer, exécutez la commande dans votre interface de ligne de commande:

    npm install @google-cloud/local-auth @googleapis/chat
    
  • Un projet Google Cloud dans lequel l'API Google Chat est activée et configurée Pour connaître la procédure à suivre, consultez Créer une application Google Chat
  • Autorisation configurée pour l'application Chat. Création... un abonnement nécessite Authentification des utilisateurs avec le champ d'application d'autorisation chat.memberships ou chat.memberships.app.

Inviter ou ajouter un utilisateur à un espace

Pour inviter ou ajouter un utilisateur à un espace, transmettez les éléments suivants dans votre requête:

  • Spécifiez le champ d'application de l'autorisation chat.memberships.
  • Appelez la méthode Méthode create le Ressource membership.
  • Définissez parent sur le nom de ressource de l'espace dans lequel vous souhaitez créer des membres.
  • Définissez member sur users/{user}, où {user} correspond à la personne que vous souhaitez contacter. créer un abonnement et est soit:
    • L'ID de personne dans l'API People. Par exemple, si l'API People personne resourceName est défini sur people/123456789, puis défini sur membership.member.name à users/123456789.
    • L'ID de utilisateur dans l'API Directory.
    • Adresse e-mail de l'utilisateur. Par exemple, users/222larabrown@gmail.com ou users/larabrown@cymbalgroup.com. Si l'utilisateur utilise un compte Google ou appartient à une autre organisation Google Workspace, vous devez utiliser son adresse e-mail.

L'exemple suivant ajoute un utilisateur à un espace:

Python

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

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

    • 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.

    • USER: un ID utilisateur

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

    python3 chat_membership_user_create.py
    

Node.js

  1. Dans votre répertoire de travail, créez un fichier nommé add-user-to-space.js.
  2. Ajoutez le code suivant dans add-user-to-space.js:

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

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

    • USER: un ID utilisateur

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

    node add-user-to-space.js
    

L'API Chat renvoie une instance de membership qui détaille l'appartenance utilisateur qui a été créée.

Inviter ou ajouter un groupe Google à un espace

Pour inviter ou ajouter un groupe Google à un espace, transmettez les éléments suivants dans votre requête:

  • Spécifiez le champ d'application de l'autorisation chat.memberships.
  • Appelez la méthode Méthode create le Ressource membership.
  • Définissez parent sur le nom de ressource de l'espace dans lequel vous souhaitez créer des membres.
  • Définissez groupMember sur groups/{group}, où {group} est l'ID du groupe que vous pour lequel vous voulez créer un abonnement. Vous pouvez récupérer l'identifiant du groupe à l'aide de la méthode API Cloud Identity : Par exemple, si l'API Cloud Identity renvoie un groupe nommé groups/123456789, puis définit membership.groupMember.name à groups/123456789.

Vous ne pouvez pas ajouter de groupes Google Groupes à un chat de groupe ou à un message privé, mais uniquement à un un espace nommé. L'exemple suivant ajoute un groupe à un espace nommé:

Python

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

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

    • 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.

    • GROUP: ID de groupe.

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

    python3 chat_membership_group_create.py
    

Node.js

  1. Dans votre répertoire de travail, créez un fichier nommé add-group-to-space.js.
  2. Ajoutez le code suivant dans add-group-to-space.js:

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

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

    • GROUP: ID de groupe.

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

    node add-group-to-space.js
    

L'API Chat renvoie une instance de membership qui détaille l'appartenance au groupe qui a été créée.

Ajouter une application Chat à un espace

Une application Chat ne peut pas ajouter une autre application en tant que membre d'une l'espace de stockage. Ajouter une application Chat à un espace ou un message privé entre deux utilisateurs, transmettez les éléments suivants dans votre requête:

  • Spécifiez le champ d'application de l'autorisation chat.memberships.app.
  • Appelez la méthode Méthode create sur la ressource membership.
  • Définissez parent sur le nom de ressource de l'espace dans lequel vous souhaitez créer des membres.
  • Définissez member sur users/app. Un alias qui représente l'application qui appelle API Chat.

L'exemple suivant ajoute une application Chat à un espace:

Python

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

    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()
    
  3. Dans le code, remplacez SPACE par un nom d'espace, ce qui que vous pouvez obtenir Méthode spaces.list dans l'API Chat ou depuis l'URL d'un espace.

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

    python3 chat_membership_app_create.py
    

Node.js

  1. Dans votre répertoire de travail, créez un fichier nommé add-app-to-space.js.
  2. Ajoutez le code suivant dans add-app-to-space.js:

    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);
    
  3. Dans le code, remplacez SPACE par un nom d'espace, ce qui que vous pouvez obtenir Méthode spaces.list dans l'API Chat ou depuis l'URL d'un espace.

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

    node add-app-to-space.js
    

L'API Chat renvoie une instance de membership qui détaille l'appartenance à l'application qui a été créée.