Ce guide explique comment utiliser la
get()
méthode sur la ressource SpaceEvent de l'API Google Chat pour obtenir des informations sur
un événement à partir d'un espace Google Chat.
La ressource
SpaceEvent représente une modification apportée à un espace ou à ses ressources enfants, telles que les messages,
les réactions et les appartenances. Pour en savoir plus sur les types d'événements compatibles, consultez le
eventType champ de la SpaceEvent ressource
documentation de référence.
Vous pouvez demander des événements jusqu'à 28 jours avant l'heure de la requête. 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é mis à jour 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
- Configurez votre environnement :
- Créez un projet Google Cloud.
- Configurez l'écran d'autorisation OAuth.
- Activez et configurez l'API Google Chat avec un nom, une icône et une description pour 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 d'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.jsondans 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 d'autorisation selon que vous souhaitez vous authentifier en tant qu'utilisateur ou en tant qu'application Chat.
Python
- Configurez votre environnement :
- Créez un projet Google Cloud.
- Configurez l'écran d'autorisation OAuth.
- Activez et configurez l'API Google Chat avec un nom, une icône et une description pour 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 d'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.jsondans 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 d'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 dans votre requête. Nous vous recommandons de choisir le champ d'application le plus restrictif qui permet à votre application de fonctionner.
- Appelez la
GetSpaceEvent()méthode, en transmettant lenamede l'événement d'espace à obtenir.
L'exemple suivant obtient 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: champ d'application d'autorisation basé sur le type d'événement. Par exemple, si vous obtenez un événement d'espace concernant une nouvelle appartenance, 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 laListSpaceEvents()méthode. Pour savoir comment utiliser cette méthode, consultez Répertorier les événements d'un espace.SPACE_NAME: ID dunamede l'espace. Vous pouvez obtenir l'ID en appelant laListSpaces()méthode ou à partir de l'URL de l'espace.SPACE_EVENT_NAME: ID de l'événement d'espacename. Vous pouvez obtenir l'ID à partir de laListSpaceEvents()méthode. Pour savoir comment utiliser cette méthode, consultez Répertorier 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 de l'application 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. Nous vous recommandons 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.membershipshttps://www.googleapis.com/auth/chat.app.memberships.readonlyhttps://www.googleapis.com/auth/chat.app.messages.readonlyhttps://www.googleapis.com/auth/chat.app.spaceshttps://www.googleapis.com/auth/chat.app.spaces.readonly
- Appelez la
getméthode sur laspaceEventsressource. - Transmettez le
namede l'espace à partir duquel vous souhaitez obtenir des informations sur l'événement.
Écrire un script qui appelle l'API Chat
Voici comment obtenir des informations sur un événement d'espace avec l'authentification de l'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` 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.memberships.readonly", "https://www.googleapis.com/auth/chat.app.messages.readonly", "https://www.googleapis.com/auth/chat.app.spaces", "https://www.googleapis.com/auth/chat.app.spaces.readonly"] 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) # 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 :
SPACE_NAME: nom d'espace, que vous pouvez obtenir à partir de la méthodespaces.listde l'API Chat ou à partir de l'URL d'un espace.SPACE_EVENT_NAME: ID de l'événement d'espacename. Vous pouvez obtenir l'ID à partir de laListSpaceEvents()méthode. Pour savoir comment utiliser cette méthode, consultez Répertorier 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 de liste paginée d'événements d'espace concernant les nouvelles appartenances et les nouveaux messages.