Créer un espace

Ce guide explique comment utiliser le create() sur la ressource Space de l'API Google Chat pour créer un espace nommé.

La Ressource Space représente un endroit où les utilisateurs et les applications Chat peuvent envoyer des messages, partager des fichiers et collaborer. Il existe plusieurs types d'espaces:

  • Les messages privés (MP) sont des conversations entre deux utilisateurs ou entre un utilisateur et une application Chat.
  • Les chats de groupe sont des conversations entre trois utilisateurs ou plus et des applications Chat.
  • Les espaces nommés sont des espaces persistants où les utilisateurs envoient des messages, partagent des fichiers et de collaborer.

Un espace nommé est un lieu où les utilisateurs peuvent envoyer des messages, partager des fichiers et collaborer. Les espaces nommés peuvent inclure des applications Chat. Les espaces nommés incluent des fonctionnalités supplémentaires que les conversations de groupe et les messages privés non nommés ne proposent pas. Par exemple, les gestionnaires d'espaces peuvent appliquer des paramètres administratifs, ajouter des descriptions, et ajouter ou supprimer des personnes et des applications. Une fois un espace nommé créé, l'utilisateur authentifié est le seul membre de l'espace. L'espace n'inclut pas d'autres personnes ni d'applications, pas même l'application Chat qui le crée. Pour ajouter des membres à un espace, consultez la section Créer une adhésion.

Pour créer un espace nommé avec plusieurs membres, un chat de groupe sans nom entre trois personnes ou plus, une conversation par message privé entre deux personnes, ou un et l'application Chat qui appelle la API Chat : configurer un espace à la place.

Prérequis

Node.js

Python

Java

Apps Script

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

Créer un espace nommé en tant qu'utilisateur

Pour créer un espace nommé avec authentification utilisateur, transmettre les éléments suivants dans votre demande:

  • Spécifiez le champ d'application d'autorisation chat.spaces.create ou chat.spaces.
  • Appelez la méthode CreateSpace() , en transmettant space en tant qu'instance de Space avec les champs suivants:
    • La valeur de spaceType est SPACE.
    • displayName défini sur le nom visible par l'utilisateur de l'espace.
    • Vous pouvez également définir d'autres attributs, tels que les suivants: <ph type="x-smartling-placeholder">
        </ph>
      • spaceDetails : description visible par l'utilisateur et ensemble de consignes pour l'espace.
      • predefinedPermissionSettings : autorisations prédéfinies pour l'espace. Par exemple, vous pouvez configurer cette règle pour que tous les membres ou seulement l'espace gestionnaires peuvent publier des messages.

Pour créer un espace nommé, procédez comme suit :

Node.js

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

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

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

  // Initialize request argument(s)
  const request = {
    space: {
      spaceType: 'SPACE',
      // Replace DISPLAY_NAME here.
      displayName: 'DISPLAY_NAME'
    }
  };

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

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

main().catch(console.error);

Python

chat/client-libraries/cloud/create_space_user_cred.py
from authentication_utils import create_client_with_user_credentials
from google.apps import chat_v1 as google_chat

SCOPES = ["https://www.googleapis.com/auth/chat.spaces.create"]

def create_space_with_user_cred():
    # Create a client
    client = create_client_with_user_credentials(SCOPES)

    # Initialize request argument(s)
    request = google_chat.CreateSpaceRequest(
        space = {
            "space_type": 'SPACE',
            # Replace DISPLAY_NAME here.
            "display_name": 'DISPLAY_NAME'
        }
    )

    # Make the request
    response = client.create_space(request)

    # Handle the response
    print(response)

create_space_with_user_cred()

Java

chat/client-libraries/cloud/src/main/java/com/google/workspace/api/chat/samples/CreateSpaceUserCred.java
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.CreateSpaceRequest;
import com.google.chat.v1.Space;

// This sample shows how to create space with user credential.
public class CreateSpaceUserCred {

  private static final String SCOPE =
    "https://www.googleapis.com/auth/chat.spaces.create";

  public static void main(String[] args) throws Exception {
    try (ChatServiceClient chatServiceClient =
        AuthenticationUtils.createClientWithUserCredentials(
          ImmutableList.of(SCOPE))) {
      CreateSpaceRequest.Builder request = CreateSpaceRequest.newBuilder()
        .setSpace(Space.newBuilder()
          .setSpaceType(Space.SpaceType.SPACE)
          // Replace DISPLAY_NAME here.
          .setDisplayName("DISPLAY_NAME"));
      Space response = chatServiceClient.createSpace(request.build());

      System.out.println(JsonFormat.printer().print(response));
    }
  }
}

Apps Script

chat/advanced-service/Main.gs
/**
 * This sample shows how to create space with user credential
 * 
 * It relies on the OAuth2 scope 'https://www.googleapis.com/auth/chat.spaces.create'
 * referenced in the manifest file (appsscript.json).
 */
function createSpaceUserCred() {
  // Initialize request argument(s)
  const space = {
    spaceType: 'SPACE',
    // TODO(developer): Replace DISPLAY_NAME here
    displayName: 'DISPLAY_NAME'
  };

  // Make the request
  const response = Chat.Spaces.create(space);

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

Créer un espace nommé en tant qu'application Chat

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

Pour inviter ou ajouter un utilisateur à un espace avec authentification de l'application, pass les éléments suivants dans votre demande:

  • Spécifiez l'autorisation chat.app.spaces.create ou chat.app.spaces. le champ d'application.
  • Appelez la méthode Méthode create le Ressource Space.
  • Définissez spaceType sur SPACE.
  • Définir displayName au nom de l'espace visible par l'utilisateur. Dans l'exemple suivant, displayName est défini sur API-made.
  • Indiquez le numéro client du domaine Google Workspace à l'aide du champ customer.
  • Vous pouvez également définir d'autres attributs de l'espace, comme spaceDetails (une description visible par l'utilisateur et un ensemble de consignes pour l'espace).

Créer une clé API

Pour appeler une méthode d'API en version Preview développeur, vous devez utiliser une version non publique de la version Preview développeur 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

Voici comment créer un espace nommé:

Python

  1. Dans votre répertoire de travail, créez un fichier nommé chat_space_create_named_app.py.
  2. Incluez le code suivant dans chat_space_create_named_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.spaces.create"]
    
    def main():
        '''
        Authenticates with Chat API using app authentication,
        then creates a Chat space.
        '''
    
        # 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().create(
    
          # Details about the space to create.
          body = {
    
            # To create a named space, set spaceType to SPACE.
            'spaceType': 'SPACE',
    
            # The user-visible name of the space.
            'displayName': 'API-made',
    
            # The customer ID of the Workspace domain.
            'customer': 'CUSTOMER'
          }
    
          ).execute()
    
        # Prints details about the created space.
        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.

    • CUSTOMER : ID client du domaine de l'espace au format customer/{customer}, où {customer} correspond à l'ID de la ressource client du SDK Admin. Pour créer un espace dans la même organisation Google Workspace que l'application Chat, utilisez customers/my_customer.

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

    python3 chat_space_create_named_app.py
    

Ouvrir l'espace dans Google Chat

Pour accéder à l'espace, utilisez son ID de ressource pour créer l'URL de l'espace. Vous pouvez trouver l'ID de ressource dans l'espace name dans le corps de la réponse Google Chat. Par exemple, si le name de votre espace est spaces/1234567, vous pouvez y accéder à l'aide de l'URL suivante : https://mail.google.com/chat/u/0/#chat/space/1234567.