Ce guide explique comment utiliser la méthode findDirectMessage
sur la ressource Space
de l'API Google Chat pour obtenir des informations sur un espace de message privé (MP).
La ressource Space
représente un emplacement 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 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 permanents où les utilisateurs envoient des messages, partagent des fichiers et collaborent.
L'authentification de l'application permet à une application Chat de recevoir les MP auxquels elle a accès dans Google Chat (par exemple, les MP dont elle fait partie). L'authentification de l'utilisateur renvoie les MP auxquels l'utilisateur authentifié a accès.
Conditions préalables
Python
- Python 3.6 ou version ultérieure
- L'outil de gestion de packages pip
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-httplib2 google-auth-oauthlib oauth2client
Une application Chat publiée. Pour créer et publier une application Chat, consultez la section Créer une application Google Chat.
Autorisation configurée pour l'application Chat. La recherche d'un message privé est compatible avec les deux types de messages suivants:
- Authentification des utilisateurs avec le champ d'application d'autorisation
chat.spaces.readonly
ouchat.spaces
. - Authentification de l'application avec le champ d'application d'autorisation
chat.bot
.
- Authentification des utilisateurs avec le champ d'application d'autorisation
Trouver un message privé
Pour rechercher un message privé dans Google Chat, transmettez les éléments suivants dans votre requête:
- Avec l'authentification de l'application, spécifiez le champ d'application de l'autorisation
chat.bot
. Avec l'authentification de l'utilisateur, spécifiez le champ d'application des autorisationschat.spaces.readonly
ouchat.spaces
. - Appelez la méthode
findDirectMessage
sur la ressourceUser
en transmettant l'identifiantname
de l'autre utilisateur dans le MP à renvoyer. Avec l'authentification de l'utilisateur, cette méthode renvoie un MP entre l'utilisateur appelant et l'utilisateur spécifié. Avec l'authentification d'application, cette méthode renvoie un MP entre l'application appelante et l'utilisateur spécifié. - Pour ajouter un utilisateur humain en tant que membre de l'espace, spécifiez
users/{user}
, où{user}
est l'{person_id}
de l'élémentperson
de l'API People ou l'ID d'unuser
dans l'API Directory. Par exemple, si l'utilisateur de l'API PeopleresourceName
estpeople/123456789
, vous pouvez ajouter l'utilisateur à l'espace en incluant une adhésion avecusers/123456789
commemember.name
.
Rechercher un message privé avec authentification de l'utilisateur
Voici comment trouver un message privé avec authentification de l'utilisateur:
Python
- Dans votre répertoire de travail, créez un fichier nommé
chat_space_find_dm_user.py
. Incluez le code suivant dans
chat_space_find_dm_user.py
:import os.path from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build from googleapiclient.errors import HttpError # 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.spaces.readonly"] def main(): ''' Authenticates with Chat API via user credentials, then returns details about a specified DM. ''' # 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().findDirectMessage( # The other user in the direct message (DM) to return. # # Replace USER with a user name. name='users/USER' ).execute() # Prints details about the created membership. print(result) if __name__ == '__main__': main()
Dans le code, remplacez
USER
par lename
d'unUser
dans Google Chat.Dans votre répertoire de travail, créez et exécutez l'exemple:
python3 chat_space_find_dm_user.py
L'API Chat renvoie une instance de Space
qui détaille le MP spécifié.
Rechercher un message privé avec authentification de l'application
Voici comment trouver un message privé avec authentification de l'application:
Python
- Dans votre répertoire de travail, créez un fichier nommé
chat_space_find_dm_app.py
. Incluez le code suivant dans
chat_space_find_dm_app.py
:from httplib2 import Http from oauth2client.service_account import ServiceAccountCredentials from apiclient.discovery import build # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = ServiceAccountCredentials.from_json_keyfile_name( 'credentials.json', SCOPES) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', http=CREDENTIALS.authorize(Http())) # Use the service endpoint to call Chat API. result = chat.spaces().findDirectMessage( # The other user in the direct message (DM) to return. # # Replace USER with a user name. name='users/USER' ).execute() print(result)
Dans le code, remplacez
USER
par lename
d'unUser
dans Google Chat.Dans votre répertoire de travail, créez et exécutez l'exemple:
python3 chat_space_find_dm_app.py
L'API Chat renvoie une instance de Space
qui détaille le MP spécifié.
Articles associés
- Créer un espace
- Configurer un espace
- Obtenir des informations sur un espace
- Répertorier les espaces
- Modifier un espace
- Supprimer un espace