En esta guía, se explica cómo usar el método update()
en el recurso SpaceReadState
de la API de Google Chat para marcar espacios como leídos o no leídos.
El recurso SpaceReadState
es un recurso singleton que representa detalles sobre el último mensaje leído de un usuario especificado en un espacio de Google Chat.
Requisitos previos
Node.js
- Una cuenta de Google Workspace para empresas o Enterprise con acceso a Google Chat
- Configura tu entorno:
- Crea un proyecto de Google Cloud
- Configura la pantalla de consentimiento de OAuth.
- Habilita y configura la API de Google Chat con un nombre, un ícono y una descripción para tu app de Chat.
- Instala la biblioteca cliente de Cloud de Node.js.
-
Crea credenciales de ID de cliente de OAuth para una aplicación de escritorio. Para ejecutar la muestra en esta guía, guarda las credenciales como un archivo JSON llamado
credentials.json
en tu directorio local.
- Elige un alcance de autorización que admita la autenticación del usuario.
Actualiza el estado de lectura del espacio del usuario que llama
Para actualizar el estado de lectura de un usuario en un espacio, incluye lo siguiente en tu solicitud:
- Especifica el alcance de autorización
chat.users.readstate
. - Realiza una llamada al método
UpdateSpaceReadState()
. - Pasa
updateMask
con el valorlastReadTime
. - Pasa
spaceReadState
como una instancia deSpaceReadState
con lo siguiente:- El campo
name
se establece en el estado de lectura del espacio que se actualizará, lo que incluye un ID o alias de usuario y un ID de espacio. La actualización del estado de lectura del espacio solo admite la actualización del estado de lectura del usuario que llama, que se puede especificar configurando uno de los siguientes parámetros:- Es el alias de
me
. Por ejemplo,users/me/spaces/SPACE/spaceReadState
- Es la dirección de correo electrónico de Workspace del usuario que realiza la llamada. Por ejemplo,
users/user@example.com/spaces/SPACE/spaceReadState
. - ID del usuario que llama. Por ejemplo,
users/USER/spaces/SPACE/spaceReadState
.
- Es el alias de
- El campo
lastReadTime
se establece en el valor actualizado de la fecha y hora en que se actualizó el estado de lectura del espacio del usuario. Por lo general, esto corresponde a la marca de tiempo del último mensaje leído o a una marca de tiempo especificada por el usuario para marcar la última posición de lectura en un espacio. Cuando ellastReadTime
es anterior a la fecha y hora de creación del mensaje más reciente, el espacio aparece como no leído en la IU. Para marcar el espacio como leído, establecelastReadTime
en cualquier valor posterior (mayor) que la hora de creación del mensaje más reciente. El valor delastReadTime
se fuerza para que coincida con la hora de creación del mensaje más reciente. Ten en cuenta que el estado de lectura del espacio solo afecta el estado de lectura de los mensajes que son visibles en la conversación de nivel superior del espacio. Las respuestas en los subprocesos no se ven afectadas por esta marca de tiempo y, en cambio, dependen del estado de lectura del subproceso.
- El campo
En el siguiente ejemplo, se actualiza el estado de lectura del espacio del usuario que llama:
Node.js
Para ejecutar este ejemplo, reemplaza SPACE_NAME
por el ID del name
del espacio.
Puedes obtener el ID llamando al método ListSpaces()
o desde la URL del espacio.
La API de Google Chat actualiza el estado de lectura del espacio especificado y devuelve una instancia de SpaceReadState
.
Temas relacionados
- Obtiene el estado de lectura del espacio del usuario que llama.
- Obtén el estado de lectura del subproceso del usuario que llama.