Ce guide explique comment utiliser la méthode updateSpaceReadState
sur le
Ressource SpaceReadState
de l'API Google Chat permettant de marquer des espaces comme lus ou non lus.
La
Ressource SpaceReadState
est une ressource singleton qui représente les détails d'une
le dernier message lu par l'utilisateur spécifié dans un espace Google Chat.
Prérequis
Python
- Une entreprise Un compte Google Workspace ayant accès à Google Chat :
- Configurez votre environnement:
<ph type="x-smartling-placeholder">
- </ph>
- Créez un projet Google Cloud.
- Configurer l'écran de consentement OAuth
- activer et configurer l'API Google Chat à l'aide d'un nom ; et la description de votre application Chat.
- Installez la Python Bibliothèque cliente des API Google.
- <ph type="x-smartling-placeholder"></ph>
Créez des identifiants client OAuth pour une application de bureau. Pour exécuter l'exemple
enregistrez les identifiants dans un fichier JSON nommé
client_secrets.json
dans votre fichier dans votre répertoire local.
- <ph type="x-smartling-placeholder"></ph> Choisissez un niveau d'autorisation compatible avec l'authentification des utilisateurs.
Node.js
- Une entreprise Un compte Google Workspace ayant accès à Google Chat :
- Configurez votre environnement:
<ph type="x-smartling-placeholder">
- </ph>
- Créez un projet Google Cloud.
- Configurer l'écran de consentement OAuth
- activer et configurer l'API Google Chat à l'aide d'un nom ; et la description de votre application Chat.
- Installez la Node.js Bibliothèque cliente des API Google.
- <ph type="x-smartling-placeholder"></ph>
Créez des identifiants client OAuth pour une application de bureau. Pour exécuter l'exemple
enregistrez les identifiants dans un fichier JSON nommé
client_secrets.json
dans votre fichier dans votre répertoire local.
- <ph type="x-smartling-placeholder"></ph> Choisissez un niveau d'autorisation compatible avec l'authentification des utilisateurs.
Apps Script
- Une entreprise Un compte Google Workspace ayant accès à Google Chat :
- Configurez votre environnement:
<ph type="x-smartling-placeholder">
- </ph>
- Créez un projet Google Cloud.
- Configurer l'écran de consentement OAuth
- activer et configurer l'API Google Chat à l'aide d'un nom ; et la description de votre application Chat.
- Créer un projet Apps Script autonome et activez le service de chat avancé.
- <ph type="x-smartling-placeholder"></ph> Choisissez un niveau d'autorisation compatible avec l'authentification des utilisateurs.
Mettre à jour l'état de lecture de l'espace de l'utilisateur appelant
Pour mettre à jour l'état de lecture d'un utilisateur dans un espace, incluez les éléments suivants dans votre demande:
- Spécifiez le champ d'application de l'autorisation
chat.users.readstate
. - Appelez la méthode
Méthode
updateSpaceReadState
le RessourceSpaceReadState
. - Transmettez le
name
de l'état de lecture de l'espace à obtenir, qui inclut un ID utilisateur ou un alias et un identifiant d'espace. L'obtention de l'état de lecture de l'espace ne prend en charge que l'obtention de l'état de lecture l'état de l'utilisateur appelant, qui peut être spécifié en définissant l'une des suivantes: <ph type="x-smartling-placeholder">- </ph>
- L'alias
me
. Exemple :users/me/spaces/SPACE/spaceReadState
. - Adresse e-mail Workspace de l'utilisateur appelant. Par exemple :
users/user@example.com/spaces/SPACE/spaceReadState
. - ID utilisateur de l'utilisateur appelant. Par exemple :
users/USER/spaces/SPACE/spaceReadState
.
- L'alias
- Transmettez
updateMask
, qui spécifie les aspects de l'état de lecture de l'espace à Update, qui accepte les chemins d'accès de champ suivants: <ph type="x-smartling-placeholder">- </ph>
lastReadTime
: date et heure de mise à jour de l'état de lecture de l'espace utilisateur. Cela correspond généralement au code temporel du dernier message lu, ou un code temporel spécifié par l'utilisateur pour marquer la dernière position lue dans une espace. LorsquelastReadTime
est antérieur à la date de création du dernier message, la valeur apparaît comme non lu dans l'UI. Pour marquer l'espace comme lu, définissezlastReadTime
à une valeur ultérieure (supérieure) à celle du dernier message créé en temps réel. La valeurlastReadTime
est forcée pour correspondre à la date et à l'heure de création du dernier message. Notez que l'état de lecture d'un espace n'affecte que l'état de lecture des messages qui sont visibles dans la conversation racine de l'espace. Les réponses dans les fils de discussion sont non affectées par cet horodatage, et nous nous basons plutôt sur l'état de lecture du thread.
L'exemple suivant met à jour l'état de lecture de l'espace de l'utilisateur appelant:
Python
- Dans votre répertoire de travail, créez un fichier nommé
chat_spaceReadState_update.py
Ajoutez le code suivant dans
chat_spaceReadState_update.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.users.readstate"] def main(): ''' Authenticates with Chat API via user credentials, then updates the space read state for the calling user. ''' # 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.users().spaces().updateSpaceReadState( # The space read state to update. # # Replace USER with the calling user's ID, Workspace email, # or the alias me. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. name='users/me/spaces/SPACE/spaceReadState', updateMask='lastReadTime', body={'lastReadTime': f'{datetime.datetime(2000, 1, 3).isoformat()}Z'} ).execute() # Prints the API's response. print(result) if __name__ == '__main__': main()
Dans le code, remplacez les éléments suivants:
SPACE
: un nom d'espace, qui que vous pouvez obtenir Méthodespaces.list
dans l'API Chat ou depuis l'URL d'un espace.
Dans votre répertoire de travail, créez et exécutez l'exemple:
python3 chat_spaceReadState_update.py
Node.js
- Dans votre répertoire de travail, créez un fichier nommé
chat_spaceReadState_update.js
Ajoutez le code suivant dans
chat_spaceReadState_update
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Authenticates with Chat API via user credentials, * then updates the space read state for the calling user. * @return {!Promise<!Object>} */ async function updateSpaceReadState() { /** * Authenticate with Google Workspace * and get user authorization. */ const scopes = [ 'https://www.googleapis.com/auth/chat.users.readstate', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); /** * Build a service endpoint for Chat API. */ const chatClient = await chat.chat({version: 'v1', auth: authClient}); /** * Use the service endpoint to call Chat API. */ return await chatClient.users.spaces.updateSpaceReadState({ /** * The space read state to update. * * Replace USER with the calling user's ID, Workspace email, * or the alias me. * * Replace SPACE with a space name. * Obtain the space name from the spaces resource of Chat API, * or from a space's URL. */ name: 'users/me/spaces/SPACE/spaceReadState', updateMask: 'lastReadTime', requestBody: { lastReadTime: '{datetime.datetime(2000, 1, 3).isoformat()}Z' } }); } /** * Use the service endpoint to call Chat API. */ getSpaceReadState().then(console.log);
Dans le code, remplacez les éléments suivants:
SPACE
: nom d'espace, qui que vous pouvez obtenir Méthodespaces.list
dans l'API Chat ou depuis l'URL d'un espace.
Dans votre répertoire de travail, créez et exécutez l'exemple:
node chat_spaceReadState_update.js
Apps Script
Cet exemple appelle l'API Chat à l'aide de la méthode Service de chat avancé.
Ajoutez le niveau d'autorisation
chat.users.readstate
au Fichierappsscript.json
du projet Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.users.readstate" ]
Ajoutez une fonction comme celle-ci au fichier code:
/** * Authenticates with Chat API via user credentials, * then updates the space read state for the calling user. * @param {string} spaceReadStateName The resource name of the space read state. */ function updateSpaceReadState(spaceReadStateName) { try { const time = new Date('January 1, 2000')).toJSON(); const body = {'lastReadTime': time}; Chat.Users.Spaces.updateSpaceReadState(spaceReadStateName, body); } catch (err) { // TODO (developer) - Handle exception console.log('Failed to update read state with error %s', err.message); } }
L'API Google Chat met à jour l'état de lecture des espaces spécifié et renvoie
une instance de
Ressource SpaceReadState
.
Articles associés
- Obtenez l'état de lecture de l'espace de l'utilisateur appelant.
- Obtenez l'état de lecture du thread de l'utilisateur appelant.