Ce guide explique comment utiliser la méthode get()
sur la ressource SpaceEvent
de l'API Google Chat pour obtenir des informations sur un événement dans un espace Google Chat.
La ressource SpaceEvent
représente une modification apportée à un espace ou à ses ressources enfants, comme les messages, les réactions et les membres. Pour en savoir plus sur les types d'événements acceptés, consultez la documentation de référence sur le champ eventType
de la ressource SpaceEvent
.
Vous pouvez demander des événements jusqu'à 28 jours avant la date de la demande. L'événement contient la version la plus récente de la ressource qui a été modifiée. Par exemple, si vous demandez un événement concernant un nouveau message, mais que le message a été modifié par la suite, le serveur renvoie la ressource Message
mise à jour dans la charge utile de l'événement.
Pour appeler cette méthode, vous devez utiliser l'authentification de l'utilisateur. Pour obtenir un événement, l'utilisateur authentifié doit être membre de l'espace dans lequel l'événement s'est produit.
Prérequis
Node.js
- Compte Google Workspace Business ou Enterprise ayant accès à Google Chat.
- Configurez votre environnement :
- Créez un projet Google Cloud.
- Configurez l'écran de consentement OAuth.
- Activez et configurez l'API Google Chat en attribuant un nom, une icône et une description à votre application Chat.
- Installez la bibliothèque cliente Cloud Node.js.
- Créez des identifiants d'accès en fonction de la façon dont vous souhaitez vous authentifier dans votre requête API Google Chat :
- Pour vous authentifier en tant qu'utilisateur Chat, créez des identifiants d'ID client OAuth et enregistrez-les dans un fichier JSON nommé
credentials.json
dans votre répertoire local. - Pour vous authentifier en tant qu'application Chat, créez des identifiants de compte de service et enregistrez-les dans un fichier JSON nommé
credentials.json
.
- Pour vous authentifier en tant qu'utilisateur Chat, créez des identifiants d'ID client OAuth et enregistrez-les dans un fichier JSON nommé
- Choisissez un champ d'application de l'autorisation selon que vous souhaitez vous authentifier en tant qu'utilisateur ou en tant qu'application Chat.
Python
- Compte Google Workspace Business ou Enterprise ayant accès à Google Chat.
- Configurez votre environnement :
- Créez un projet Google Cloud.
- Configurez l'écran de consentement OAuth.
- Activez et configurez l'API Google Chat en attribuant un nom, une icône et une description à votre application Chat.
- Installez la bibliothèque cliente Cloud Python.
- Créez des identifiants d'accès en fonction de la façon dont vous souhaitez vous authentifier dans votre requête API Google Chat :
- Pour vous authentifier en tant qu'utilisateur Chat, créez des identifiants d'ID client OAuth et enregistrez-les dans un fichier JSON nommé
credentials.json
dans votre répertoire local. - Pour vous authentifier en tant qu'application Chat, créez des identifiants de compte de service et enregistrez-les dans un fichier JSON nommé
credentials.json
.
- Pour vous authentifier en tant qu'utilisateur Chat, créez des identifiants d'ID client OAuth et enregistrez-les dans un fichier JSON nommé
- Choisissez un champ d'application de l'autorisation selon que vous souhaitez vous authentifier en tant qu'utilisateur ou en tant qu'application Chat.
Obtenir des informations sur un événement d'espace (authentification de l'utilisateur)
Pour obtenir des informations sur un événement d'espace dans Google Chat, transmettez les éléments suivants dans votre requête :
- Spécifiez un champ d'application d'autorisation compatible avec le type d'événement de votre requête. Nous vous recommandons de choisir le champ d'application le plus restrictif qui permet à votre application de fonctionner.
- Appelez la méthode
GetSpaceEvent()
en transmettant lename
de l'événement d'espace à obtenir.
L'exemple suivant permet d'obtenir un événement d'espace :
Node.js
Cet exemple de code Node.js utilise l'API RPC Chat.
Pour exécuter cet exemple, remplacez les éléments suivants :
SCOPE_NAME
: un champ d'application d'autorisation basé sur le type d'événement. Par exemple, si vous recevez un événement d'espace concernant un nouveau membre, utilisez le champ d'applicationchat.memberships.readonly
, au formathttps://www.googleapis.com/auth/chat.memberships.readonly
. Vous pouvez obtenir le type d'événement à partir de la méthodeListSpaceEvents()
. Pour savoir comment utiliser cette méthode, consultez Lister les événements d'un espace.SPACE_NAME
: ID de l'name
de l'espace. Vous pouvez obtenir l'ID en appelant la méthodeListSpaces()
ou à partir de l'URL de l'espace.SPACE_EVENT_NAME
: ID de l'name
de l'événement de l'espace. Vous pouvez obtenir l'ID à partir de la méthodeListSpaceEvents()
. Pour savoir comment utiliser cette méthode, consultez Lister les événements d'un espace.
L'API Chat renvoie une instance de SpaceEvent
avec des informations sur l'événement.
Obtenir des informations sur un événement d'espace (authentification de l'application Chat)
L'authentification des applications nécessite une approbation unique de l'administrateur.
Pour obtenir des informations sur un événement d'espace à partir d'un espace avec authentification de l'application à l'aide de l'API REST Chat, transmettez les éléments suivants dans votre requête :
- Spécifiez un ou plusieurs champs d'application d'autorisation pour prendre en charge chaque type d'événement dans votre requête. Il est recommandé de choisir le champ d'application le plus restrictif qui permet à votre application de fonctionner. Pour en savoir plus sur le choix d'un champ d'application, consultez la présentation de l'authentification et de l'autorisation.
https://www.googleapis.com/auth/chat.app.memberships
https://www.googleapis.com/auth/chat.app.messages.readonly
https://www.googleapis.com/auth/chat.app.spaces
- Appelez la méthode
get
sur la ressourcespaceEvents
. - Transmettez l'
name
de l'espace pour obtenir les détails de l'événement.
Créer une clé API
Pour appeler une méthode de l'API Developer Preview, vous devez utiliser une version Developer Preview 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 :
- Dans la console Google Cloud, accédez à Menu > API et services > Identifiants.
- Cliquez sur Créer des identifiants > Clé API.
- Votre nouvelle clé API s'affiche.
- Cliquez sur Copier pour copier votre clé API et l'utiliser dans le code de votre application. Vous trouverez également la clé API dans la section "Clés API" des identifiants de votre projet.
- Pour éviter toute utilisation abusive, nous recommandons d'ajouter des restrictions pour limiter les emplacements et les API pour lesquels la clé API peut être utilisée. Pour en savoir plus, consultez Ajouter des restrictions d'API.
Écrire un script qui appelle l'API Chat
Voici comment obtenir des informations sur un événement d'espace avec l'authentification d'application et l'API REST Chat :
Python
Cet exemple de code Python utilise l'API REST Chat.
- Dans votre répertoire de travail, créez un fichier nommé
chat_spaceevents_get_app.py
. Incluez le code suivant dans
chat_spaceevents_get_app.py
:from google.oauth2 import service_account from apiclient.discovery import build # Define your app's authorization scopes. # Set authorization scopes based on the # event type. For example, if you are getting a space event # about a new membership, use the `chat.app.memberships.readonly` scope. # # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.app.memberships", "https://www.googleapis.com/auth/chat.app.messages.readonly", "https://www.googleapis.com/auth/chat.app.spaces"] def main(): ''' Authenticates with Chat API using app authentication, then lists space events from a specified 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().spaceEvents().get( # The space to get event details from. # # Replace SPACE_NAME with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. name='spaces/SPACE_NAME/spaceEvents/SPACE_EVENT_NAME', ).execute() # Print Chat API's response in your command line interface. print(result) if __name__ == '__main__': main()
Dans le code, remplacez les éléments suivants :
API_KEY
: clé API que vous avez créée pour générer le point de terminaison de service pour l'API Chat.SPACE_NAME
: nom d'un espace, que vous pouvez obtenir à partir de la méthodespaces.list
de l'API Chat ou à partir de l'URL d'un espace.SPACE_EVENT_NAME
: ID de l'name
de l'événement de l'espace. Vous pouvez obtenir l'ID à partir de la méthodeListSpaceEvents()
. Pour savoir comment utiliser cette méthode, consultez Lister les événements d'un espace.
Dans votre répertoire de travail, compilez et exécutez l'exemple :
python3 chat_spaceevents_get_app.py
L'API Chat renvoie une liste paginée des événements d'un espace concernant les nouveaux membres et les nouveaux messages.