- Recurso: Mensaje
- Tarjeta
- CardHeader
- ImageStyle
- Sección
- WidgetMarkup
- TextParagraph
- Imagen
- OnClick
- FormAction
- ActionParameter
- OpenLink
- KeyValue
- Ícono
- Botón
- TextButton
- ImageButton
- CardAction
- CardWithId
- Tarjeta
- CardHeader
- ImageType
- Sección
- Widget
- TextParagraph
- Imagen
- OnClick
- Acción
- ActionParameter
- LoadIndicator
- Interacción
- OpenLink
- OpenAs
- OnClose
- DecoratedText
- Ícono
- Botón
- Color
- SwitchControl
- ControlType
- ButtonList
- TextInput
- Tipo
- Sugerencias
- SuggestionItem
- SelectionInput
- SelectionType
- SelectionItem
- PlatformDataSource
- CommonDataSource
- HostAppDataSourceMarkup
- ChatClientDataSourceMarkup
- SpaceDataSource
- DateTimePicker
- DateTimePickerType
- Divider
- Cuadrícula
- GridItem
- ImageComponent
- ImageCropStyle
- ImageCropType
- BorderStyle
- BorderType
- GridItemLayout
- Columnas
- Columna
- HorizontalSizeStyle
- HorizontalAlignment
- VerticalAlignment
- Widgets
- DividerStyle
- CardAction
- CardFixedFooter
- DisplayStyle
- Anotación
- AnnotationType
- UserMentionMetadata
- Tipo
- SlashCommandMetadata
- Tipo
- Subproceso
- ActionResponse
- ResponseType
- DialogAction
- Diálogo
- ActionStatus
- Code
- UpdatedWidget
- SelectionItems
- SlashCommand
- MatchedUrl
- EmojiReactionSummary
- DeletionMetadata
- DeletionType
- QuotedMessageMetadata
- AttachedGif
- Métodos
Recurso: Mensaje
Un mensaje en un espacio de Google Chat
Representación JSON |
---|
{ "name": string, "sender": { object ( |
Campos | |
---|---|
name |
Nombre del recurso con el formato Ejemplo: |
sender |
Solo salida. Indica el usuario que creó el mensaje. Si tu app de Chat se autentica como un usuario, el resultado se propaga en el usuario |
createTime |
Para los espacios creados en Chat, la hora a la que se creó el mensaje. Este campo es de solo salida, excepto cuando se usa en espacios importados. Para los espacios importados, establece este campo en la marca de tiempo histórica en la que se creó el mensaje en la fuente para conservar la hora de creación original. |
lastUpdateTime |
Solo salida. La hora en la que el usuario editó el mensaje por última vez. Si nunca se editó el mensaje, este campo estará vacío. |
deleteTime |
Solo salida. La hora a la que se borró el mensaje en Google Chat. Si el mensaje nunca se borra, este campo estará vacío. |
text |
Cuerpo con texto sin formato del mensaje. El primer vínculo a una imagen, un video o una página web genera un chip de vista previa. También puedes @mencionar a un usuario de Google Chat o a todas las personas del espacio. Si deseas obtener información para crear mensajes de texto, consulta Cómo enviar un mensaje de texto. |
formattedText |
Solo salida. Contiene el mensaje
Para obtener más información, consulta Cómo ver el formato de texto enviado en un mensaje |
cards[] |
Obsoleto: usa Tarjetas enriquecidas, con formato e interactivas que puedes usar para mostrar elementos de la IU, como textos con formato, botones e imágenes en las que se puede hacer clic. Por lo general, las tarjetas se muestran debajo del cuerpo con texto sin formato del mensaje. |
cardsV2[] |
Un array de tarjetas. Solo las apps de Chat pueden crear tarjetas. Si tu app de Chat se autentica como un usuario, los mensajes no pueden contener tarjetas. Para obtener información sobre las tarjetas y cómo crearlas, consulta Cómo diseñar IUs dinámicas, interactivas y coherentes con tarjetas. |
annotations[] |
Solo salida. Son anotaciones asociadas con el |
thread |
La conversación a la que pertenece el mensaje. Para ver ejemplos de uso, consulta Cómo iniciar o responder una conversación de mensajes. |
space |
Si tu app de Chat se autentica como un usuario, el resultado se propaga en el espacio |
fallbackText |
Una descripción de texto sin formato de las tarjetas del mensaje, que se usa cuando no se pueden mostrar las tarjetas reales (por ejemplo, notificaciones móviles). |
actionResponse |
Solo entrada. Parámetros que una app de chat puede usar para configurar cómo se publica su respuesta. |
argumentText |
Solo salida. Cuerpo con texto sin formato del mensaje con todas las menciones de la app de Chat quitadas. |
slashCommand |
Solo salida. Información del comando de barra, si corresponde. |
attachment[] |
Archivo adjunto subido por el usuario. |
matchedUrl |
Solo salida. Una URL en |
threadReply |
Solo salida. Cuando es Si el espacio no admite respuestas en conversaciones, este campo siempre será |
clientAssignedMessageId |
Un nombre personalizado para un mensaje de Chat asignado durante la creación. Debe comenzar con |
emojiReactionSummaries[] |
Solo salida. Es la lista de resúmenes de reacciones con emojis del mensaje. |
deletionMetadata |
Solo salida. Información sobre un mensaje borrado. Se borrará un mensaje cuando se configure |
quotedMessageMetadata |
Solo salida. Información sobre un mensaje citado por un usuario de Google Chat en un espacio. Los usuarios de Google Chat pueden citar un mensaje para responderlo. |
attachedGifs[] |
Solo salida. Son las imágenes GIF adjuntas en el mensaje. |
CardWithId
Una tarjeta en un mensaje de Google Chat
Solo las apps de Chat pueden crear tarjetas. Si tu app de Chat se autentica como un usuario, el mensaje no puede contener tarjetas.
Representación JSON |
---|
{
"cardId": string,
"card": {
object ( |
Campos | |
---|---|
cardId |
Obligatorio si el mensaje contiene varias tarjetas. Un identificador único para una tarjeta en un mensaje. |
card |
Una tarjeta El tamaño máximo es de 32 KB. |
Anotación
Solo salida. Anotaciones asociadas con el cuerpo del texto sin formato del mensaje Para agregar formato básico a un mensaje de texto, consulta Cómo dar formato a los mensajes de texto.
Ejemplo de cuerpo de mensaje de texto sin formato:
Hello @FooBot how are you!"
Los metadatos de anotaciones correspondientes:
"annotations":[{
"type":"USER_MENTION",
"startIndex":6,
"length":7,
"userMention": {
"user": {
"name":"users/{user}",
"displayName":"FooBot",
"avatarUrl":"https://goo.gl/aeDtrS",
"type":"BOT"
},
"type":"MENTION"
}
}]
Representación JSON |
---|
{ "type": enum ( |
Campos | |
---|---|
type |
Es el tipo de esta anotación. |
length |
Longitud de la substring en el cuerpo del mensaje de texto sin formato a la que corresponde esta anotación. |
startIndex |
Índice de inicio (basado en 0, inclusive) en el cuerpo del mensaje de texto sin formato al que corresponde esta anotación. |
Campo de unión metadata . Metadatos adicionales sobre la anotación. Las direcciones (metadata ) solo pueden ser una de las siguientes opciones: |
|
userMention |
Los metadatos de la mención del usuario. |
slashCommand |
Los metadatos para un comando de barra. |
AnnotationType
Es el tipo de anotación.
Enumeradores | |
---|---|
ANNOTATION_TYPE_UNSPECIFIED |
El valor predeterminado para la enum. No utilizar. |
USER_MENTION |
Se menciona a un usuario. |
SLASH_COMMAND |
Se invoca un comando de barra. |
UserMentionMetadata
Metadatos de anotaciones para menciones de usuarios (@).
Representación JSON |
---|
{ "user": { object ( |
Campos | |
---|---|
user |
El usuario mencionado |
type |
Es el tipo de mención del usuario. |
Tipo
Enumeradores | |
---|---|
TYPE_UNSPECIFIED |
El valor predeterminado para la enum. No utilizar. |
ADD |
Agregar usuario al espacio. |
MENTION |
Mencionar al usuario en el espacio. |
SlashCommandMetadata
Metadatos de anotación para comandos de barra (/)
Representación JSON |
---|
{ "bot": { object ( |
Campos | |
---|---|
bot |
La app de Chat cuyo comando se invocó. |
type |
El tipo de comando de barra. |
commandName |
El nombre del comando de barra invocado. |
commandId |
El ID de comando del comando de barra invocado. |
triggersDialog |
Indica si el comando de barra es para un diálogo. |
Tipo
Enumeradores | |
---|---|
TYPE_UNSPECIFIED |
El valor predeterminado para la enum. No utilizar. |
ADD |
Agrega la app de Chat al espacio. |
INVOKE |
Invoca el comando de barra en el espacio. |
Conversación
Una conversación en un espacio de Google Chat Para ver ejemplos de uso, consulta Cómo iniciar o responder una conversación de mensajes.
Si especificas una conversación cuando creas un mensaje, puedes configurar el campo messageReplyOption
para determinar qué sucede si no se encuentra un subproceso que coincida.
Representación JSON |
---|
{ "name": string, "threadKey": string } |
Campos | |
---|---|
name |
Solo salida. Es el nombre del recurso del subproceso. Ejemplo: |
threadKey |
Opcional. Entrada para crear o actualizar un subproceso. De lo contrario, solo el resultado. ID del subproceso. Admite hasta 4,000 caracteres. Este ID es único para la app de Chat que lo configura. Por ejemplo, si varias apps de Chat crean un mensaje con la misma clave de conversación, los mensajes se publican en diferentes conversaciones. Para responder en una conversación creada por una persona o por otra app de Chat, especifica el campo |
ActionResponse
Parámetros que una app de chat puede usar para configurar cómo se publica su respuesta.
Representación JSON |
---|
{ "type": enum ( |
Campos | |
---|---|
type |
Solo entrada. El tipo de respuesta de la app de Chat. |
url |
Solo entrada. URL para que los usuarios se autentiquen o configuren. (solo para tipos de respuesta |
dialogAction |
Solo entrada. Es la respuesta a un evento de interacción relacionado con un diálogo. Debe estar acompañado de |
updatedWidget |
Solo entrada. Es la respuesta del widget actualizado. |
ResponseType
El tipo de respuesta de la app de Chat.
Enumeradores | |
---|---|
TYPE_UNSPECIFIED |
Es el tipo predeterminado que se controla como NEW_MESSAGE . |
NEW_MESSAGE |
Publicar como un mensaje nuevo en el tema |
UPDATE_MESSAGE |
Actualiza el mensaje de la app de Chat. Esto solo se permite en un evento CARD_CLICKED en el que el tipo de remitente del mensaje es BOT . |
UPDATE_USER_MESSAGE_CARDS |
Actualizar las tarjetas en el mensaje de un usuario Esto solo se permite como respuesta a un evento MESSAGE con una URL coincidente o un evento CARD_CLICKED en el que el tipo de remitente del mensaje es HUMAN . Se ignora el texto. |
REQUEST_CONFIG |
Solicitar al usuario de forma privada autenticación o configuración adicional |
DIALOG |
Presenta un diálogo. |
UPDATE_WIDGET |
Consulta de opciones de autocompletado de texto del widget. |
DialogAction
Contiene un diálogo y código de estado de solicitud.
Representación JSON |
---|
{ "actionStatus": { object ( |
Campos | |
---|---|
actionStatus |
Solo entrada. Estado de una solicitud para invocar o enviar un diálogo. Muestra un estado y un mensaje a los usuarios, si es necesario. Por ejemplo, en caso de error o éxito. |
Campo de unión
|
|
dialog |
Solo entrada. Dialog para la solicitud. |
Dialog
Envoltorio alrededor del cuerpo de la tarjeta del diálogo.
Representación JSON |
---|
{
"body": {
object ( |
Campos | |
---|---|
body |
Solo entrada. Cuerpo del diálogo, que se renderiza de manera modal Las apps de Google Chat no admiten las siguientes entidades de tarjetas: |
ActionStatus
Representa el estado de una solicitud para invocar o enviar un diálogo.
Representación JSON |
---|
{
"statusCode": enum ( |
Campos | |
---|---|
statusCode |
Es el código de estado. |
userFacingMessage |
El mensaje que se envía a los usuarios sobre el estado de su solicitud. Si no se establece, se envía un mensaje genérico basado en |
Código
Los códigos de error canónicos para las API de gRPC.
A veces, es posible que se apliquen varios códigos de error. Los servicios deben mostrar el código de error más específico que corresponda. Por ejemplo, es preferible OUT_OF_RANGE
en lugar de FAILED_PRECONDITION
si se aplican ambos códigos. Del mismo modo, prefiere NOT_FOUND
o ALREADY_EXISTS
en lugar de FAILED_PRECONDITION
.
Enumeradores | |
---|---|
OK |
No es un error. que se muestran con éxito. Asignación HTTP: 200 OK |
CANCELLED |
La operación se canceló (por lo general, la cancela el emisor). Asignación HTTP: 499 Solicitudes cerradas por el cliente |
UNKNOWN |
Error desconocido Por ejemplo, este error puede mostrarse cuando un valor Asignación HTTP: Error interno del servidor 500 |
INVALID_ARGUMENT |
El cliente especificó un argumento no válido. Ten en cuenta que esto difiere de Asignación HTTP: 400 Solicitud incorrecta |
DEADLINE_EXCEEDED |
El plazo venció antes de que la operación se pudiera completar. En el caso de las operaciones que cambian el estado del sistema, es probable que se muestre este error incluso si la operación se completó correctamente. Por ejemplo, una respuesta correcta desde un servidor podría haberse retrasado lo suficiente como para que el plazo venciera. Asignación HTTP: Tiempo de espera de la puerta de enlace 504 |
NOT_FOUND |
No se encontró alguna entidad solicitada (p. ej., un archivo o un directorio). Nota para los desarrolladores de servidores: si se niega una solicitud a una clase completa de usuarios, como el lanzamiento gradual de funciones o una lista de permisos no documentada, se puede usar Asignación HTTP: 404 No encontrado |
ALREADY_EXISTS |
La entidad que un cliente intentó crear (p.ej., un archivo o un directorio) ya existe. Asignación HTTP: 409 Conflicto |
PERMISSION_DENIED |
El emisor de la llamada no tiene permiso para ejecutar la operación especificada. No se debe usar Asignación HTTP: 403 Prohibido |
UNAUTHENTICATED |
La solicitud no tiene credenciales de autenticación válidas para la operación. Asignación HTTP: 401 No autorizado |
RESOURCE_EXHAUSTED |
Algunos recursos se agotaron, tal vez una cuota por usuario, o tal vez se agotó el espacio de todo el sistema de archivos. Asignación HTTP: 429 Demasiadas solicitudes |
FAILED_PRECONDITION |
La operación se rechazó debido a que el sistema no se encuentra en un estado necesario para la ejecución de la operación. Por ejemplo, el directorio que se borrará no está vacío, se aplicará una operación rmdir a un directorio que no sea de directorio, etcétera. Los implementadores de servicios pueden usar los siguientes lineamientos para decidir entre Asignación HTTP: 400 Solicitud incorrecta |
ABORTED |
La operación se anuló, generalmente debido a un problema de simultaneidad, como una falla en la verificación del secuenciador o la anulación de la transacción. Consulta los lineamientos anteriores para decidir entre Asignación HTTP: 409 Conflicto |
OUT_OF_RANGE |
La operación se intentó fuera del rango válido. Por ejemplo, buscar o leer el final del archivo. A diferencia de Hay una leve superposición entre Asignación HTTP: 400 Solicitud incorrecta |
UNIMPLEMENTED |
La operación no se implementó, no se admite o no está habilitada en este servicio. Asignación HTTP: 501 No implementado |
INTERNAL |
Errores internos. Esto significa que algunos invariantes que espera el sistema subyacente están rotos. Este código de error está reservado para errores graves. Asignación HTTP: Error interno del servidor 500 |
UNAVAILABLE |
El servicio no está disponible actualmente. Lo más probable es que esta sea una condición transitoria y que se pueda corregir si vuelves a intentar una retirada. Ten en cuenta que no siempre es seguro reintentar operaciones no idempotentes. Consulta los lineamientos anteriores para decidir entre Asignación HTTP: 503 Servicio no disponible |
DATA_LOSS |
Daño o pérdida de datos no recuperable. Asignación HTTP: Error interno del servidor 500 |
UpdatedWidget
Es la respuesta del widget actualizado. Se usa para proporcionar opciones de autocompletado para un widget.
Representación JSON |
---|
{ "widget": string, // Union field |
Campos | |
---|---|
widget |
El ID del widget actualizado. El ID debe coincidir con el del widget que activó la solicitud de actualización. |
Campo de unión
|
|
suggestions |
Lista de resultados de autocompletado de widgets |
SelectionItems
Lista de resultados de autocompletado de widgets.
Representación JSON |
---|
{
"items": [
{
object ( |
Campos | |
---|---|
items[] |
Es un array de los objetos SelectionItem. |
SlashCommand
Un comando de barra en Google Chat
Representación JSON |
---|
{ "commandId": string } |
Campos | |
---|---|
commandId |
El ID del comando de barra invocado. |
MatchedUrl
Una URL coincidente en un mensaje de Chat. Las apps de chat pueden obtener una vista previa de las URLs coincidentes. Para obtener más información, consulta Cómo obtener una vista previa de los vínculos.
Representación JSON |
---|
{ "url": string } |
Campos | |
---|---|
url |
Solo salida. La URL que coincidió. |
EmojiReactionSummary
Es la cantidad de personas que reaccionaron a un mensaje con un emoji específico.
Representación JSON |
---|
{
"emoji": {
object ( |
Campos | |
---|---|
emoji |
Se muestran los emojis asociados con las reacciones. |
reactionCount |
Cantidad total de reacciones con el emoji asociado. |
DeletionMetadata
Información sobre un mensaje borrado. Se borrará un mensaje cuando se configure deleteTime
.
Representación JSON |
---|
{
"deletionType": enum ( |
Campos | |
---|---|
deletionType |
Indica quién borró el mensaje. |
DeletionType
Quién borró el mensaje y cómo lo hiciste
Enumeradores | |
---|---|
DELETION_TYPE_UNSPECIFIED |
Este valor no se usa. |
CREATOR |
El usuario borró su propio mensaje. |
SPACE_OWNER |
El propietario del espacio borró el mensaje. |
ADMIN |
Un administrador de Google Workspace borró el mensaje. |
APP_MESSAGE_EXPIRY |
Una app de Chat borró su propio mensaje cuando venció. |
CREATOR_VIA_APP |
Una app de Chat borró el mensaje en nombre del usuario. |
SPACE_OWNER_VIA_APP |
Una app de Chat borró el mensaje en nombre del propietario del espacio. |
QuotedMessageMetadata
Información sobre un mensaje citado.
Representación JSON |
---|
{ "name": string, "lastUpdateTime": string } |
Campos | |
---|---|
name |
Solo salida. Nombre del recurso del mensaje citado. Formato: |
lastUpdateTime |
Solo salida. La marca de tiempo del momento en que se creó el mensaje entrecomillado o cuándo se actualizó por última vez. |
AttachedGif
Una imagen GIF especificada por una URL.
Representación JSON |
---|
{ "uri": string } |
Campos | |
---|---|
uri |
Solo salida. La URL que aloja la imagen GIF. |
Métodos |
|
---|---|
|
Crea un mensaje en un espacio de Google Chat. |
|
Borra un mensaje. |
|
Muestra detalles sobre un mensaje. |
|
Enumera los mensajes de un espacio del que es miembro el emisor, incluidos los mensajes de los miembros y espacios bloqueados. |
|
Actualiza un mensaje. |
|
Actualiza un mensaje. |