REST Resource: spaces.messages

Recurso: Message

Uma mensagem em um espaço do Google Chat.

Representação JSON
{
  "name": string,
  "sender": {
    object (User)
  },
  "createTime": string,
  "lastUpdateTime": string,
  "deleteTime": string,
  "text": string,
  "formattedText": string,
  "cards": [
    {
      object (Card)
    }
  ],
  "cardsV2": [
    {
      object (CardWithId)
    }
  ],
  "annotations": [
    {
      object (Annotation)
    }
  ],
  "thread": {
    object (Thread)
  },
  "space": {
    object (Space)
  },
  "fallbackText": string,
  "actionResponse": {
    object (ActionResponse)
  },
  "argumentText": string,
  "slashCommand": {
    object (SlashCommand)
  },
  "attachment": [
    {
      object (Attachment)
    }
  ],
  "matchedUrl": {
    object (MatchedUrl)
  },
  "threadReply": boolean,
  "silent": boolean,
  "clientAssignedMessageId": string,
  "emojiReactionSummaries": [
    {
      object (EmojiReactionSummary)
    }
  ],
  "privateMessageViewer": {
    object (User)
  },
  "deletionMetadata": {
    object (DeletionMetadata)
  },
  "quotedMessageMetadata": {
    object (QuotedMessageMetadata)
  },
  "attachedGifs": [
    {
      object (AttachedGif)
    }
  ],
  "accessoryWidgets": [
    {
      object (AccessoryWidget)
    }
  ],
  "elements": {
    object (Elements)
  },
  "markupSyntax": enum (MarkupSyntax)
}
Campos
name

string

Identificador. Nome do recurso da mensagem.

Formato: spaces/{space}/messages/{message}

Em que {space} é o ID do espaço em que a mensagem foi postada e {message} é um ID atribuído pelo sistema para a mensagem. Por exemplo, spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB.

Se você definir um código personalizado ao criar uma mensagem, poderá usá-lo para especificar a mensagem em uma solicitação, substituindo {message} pelo valor do campo clientAssignedMessageId. Por exemplo, spaces/AAAAAAAAAAA/messages/client-custom-name. Veja mais detalhes em Nomear uma mensagem.

sender

object (User)

Apenas saída. O usuário que criou a mensagem. Se o app do Chat for autenticado como um usuário, a saída vai preencher apenas os campos name e type do usuário para usuários internos e externos, a menos que eles sejam participantes do espaço ou tenham uma afinidade anterior, como uma conversa por mensagem direta (DM), com o usuário que está chamando.

createTime

string (Timestamp format)

Opcional. Imutável. Para espaços criados no Chat, o horário em que a mensagem foi criada. Este campo é somente saída, exceto quando usado em espaços do modo de importação.

Para espaços no modo de importação, defina esse campo como o carimbo de data/hora histórico em que a mensagem foi criada na origem para preservar o horário de criação original.

lastUpdateTime

string (Timestamp format)

Apenas saída. A hora em que a mensagem foi editada pela última vez por um usuário. Se a mensagem nunca tiver sido editada, esse campo vai ficar vazio.

deleteTime

string (Timestamp format)

Apenas saída. O horário em que a mensagem foi excluída no Google Chat. Se a mensagem nunca for excluída, esse campo ficará vazio.

text

string

Opcional. Corpo de texto simples da mensagem. O primeiro link para uma imagem, vídeo ou página da Web gera um ícone de visualização. Você também pode @mencionar um usuário do Google Chat ou todos no espaço.

Para saber como criar mensagens de texto, consulte Enviar uma mensagem.

formattedText

string

Apenas saída. Contém a mensagem text com marcações adicionadas para comunicar a formatação. Esse campo pode não capturar toda a formatação visível na interface, mas inclui o seguinte:

  • Sintaxe de marcação para negrito, itálico, tachado, fonte monoespaçada, bloco monoespaçado, lista com marcadores e citação em bloco.

  • Menções de usuários usando o formato <users/{user}>.

  • Hiperlinks personalizados usando o formato <{url}|{rendered_text}>, em que a primeira string é o URL e a segunda é o texto renderizado, por exemplo, <http://example.com|custom text>.

  • Emojis personalizados usando o formato :{emojiName}:, por exemplo, :smile:. Isso não se aplica a emojis Unicode, como U+1F600 para um emoji de rosto sorridente.

  • Itens de lista com marcadores usando asteriscos (*), por exemplo, * item.

Para mais informações, consulte Ver a formatação de texto enviada em uma mensagem.

cards[]
(deprecated)

object (Card)

Descontinuado: use cardsV2.

Cards avançados, formatados e interativos que podem ser usados para mostrar elementos da interface, como textos formatados, botões e imagens clicáveis. Os cards normalmente aparecem abaixo do corpo de texto simples da mensagem. cards e cardsV2 podem ter um tamanho máximo de 32 KB.

cardsV2[]

object (CardWithId)

Opcional. Uma matriz de cards.

Os apps do Chat podem criar cards com a autenticação de apps. Como parte do Programa de prévia para desenvolvedores, se o app do Chat se autenticar como usuário, ele poderá criar mensagens de card. Se o app do Chat não fizer parte do Programa de Prévia para Desenvolvedores, ele não poderá criar cards com autenticação de usuário.

Para saber como criar uma mensagem que contém cards, consulte Enviar uma mensagem.

Crie e visualize cards com o Criador de cards.

Abra o Criador de Cards

annotations[]

object (Annotation)

Apenas saída. As anotações podem ser associadas ao corpo de texto simples da mensagem ou a ícones que levam a recursos do Google Workspace, como o Google Docs ou as Planilhas, com startIndex e length de 0.

thread

object (Thread)

A conversa a que a mensagem pertence. Para ver um exemplo de uso, consulte Iniciar ou responder a uma conversa de mensagem.

space

object (Space)

Apenas saída. Se o app do Chat for autenticado como um usuário, a saída vai preencher apenas o name do espaço.

fallbackText

string

Opcional. Uma descrição em texto simples dos cards da mensagem, usada quando os cards reais não podem ser exibidos, por exemplo, em notificações no dispositivo móvel.

actionResponse

object (ActionResponse)

Somente entrada. Parâmetros que um app do Chat pode usar para configurar como a resposta é postada.

argumentText

string

Apenas saída. Corpo de texto simples da mensagem sem as menções ao app do Chat.

slashCommand

object (SlashCommand)

Apenas saída. Informações sobre o comando de barra, se aplicável.

attachment[]

object (Attachment)

Opcional. Anexo enviado pelo usuário.

matchedUrl

object (MatchedUrl)

Apenas saída. Um URL no campo text da mensagem de chat que corresponde a um padrão de visualização de link. Para mais informações, consulte Visualizar links.

threadReply

boolean

Apenas saída. Quando true, a mensagem é uma resposta em uma conversa. Quando false, a mensagem fica visível na conversa de nível superior do espaço como a primeira mensagem de uma conversa agrupada ou uma mensagem sem respostas agrupadas.

Se o espaço não for compatível com respostas em conversas, esse campo será sempre false.

silent

boolean

Apenas saída. Se esta é uma mensagem silenciosa. As mensagens silenciosas são aquelas em que o Chat suprime as notificações push para os destinatários.

clientAssignedMessageId

string

Opcional. Um código personalizado para a mensagem. Você pode usar o campo para identificar, receber, excluir ou atualizar uma mensagem. Para definir um código personalizado, especifique o campo messageId ao criar a mensagem. Para mais detalhes, consulte Nomear uma mensagem.

emojiReactionSummaries[]

object (EmojiReactionSummary)

Apenas saída. A lista de resumos de reações com emoji na mensagem.

privateMessageViewer

object (User)

Opcional. Imutável. Entrada para criar uma mensagem, caso contrário, somente saída. O usuário que pode ver a mensagem. Quando definido, a mensagem é particular e fica visível apenas para o usuário especificado e o app do Chat. Para incluir esse campo na solicitação, chame a API Chat usando a autenticação do app e omita o seguinte:

Para mais detalhes, consulte Enviar uma mensagem particular.

deletionMetadata

object (DeletionMetadata)

Apenas saída. Informações sobre uma mensagem excluída. Uma mensagem é excluída quando deleteTime é definido.

quotedMessageMetadata

object (QuotedMessageMetadata)

Opcional. Informações sobre uma mensagem que outra mensagem cita.

Ao criar uma mensagem, você pode citar mensagens na mesma conversa ou citar uma mensagem raiz para criar outra. No entanto, não é possível citar uma resposta de mensagem de uma conversa diferente.

Ao atualizar uma mensagem, não é possível adicionar ou substituir o campo quotedMessageMetadata, mas é possível removê-lo.

Para ver um exemplo de uso, consulte Citar outra mensagem.

attachedGifs[]

object (AttachedGif)

Apenas saída. Imagens GIF anexadas à mensagem.

accessoryWidgets[]

object (AccessoryWidget)

Opcional. Um ou mais widgets interativos que aparecem na parte de baixo de uma mensagem. É possível adicionar widgets de acessório a mensagens que contêm texto, cards ou ambos. Não há suporte para mensagens que contêm caixas de diálogo. Para mais detalhes, consulte Adicionar widgets interativos na parte de baixo de uma mensagem.

Para criar uma mensagem com widgets acessórios, é necessário fazer a autenticação do app.

elements

object (Elements)

Opcional. Os elementos são componentes adicionais fornecidos durante a criação da mensagem que podem ou não estar associados a partes específicas do texto da mensagem. Elas são diferentes das anotações, que são somente de saída e oferecem informações complementares vinculadas a fragmentos de mensagens ou ao texto inteiro da mensagem.

markupSyntax

enum (MarkupSyntax)

Opcional. Especifica como o servidor interpreta o conteúdo do campo text da mensagem.

CardWithId

Uma ficha de informações em uma mensagem de chat do Google Chat.

Os apps do Chat podem criar cards com a autenticação de apps. Como parte do Programa de prévia para desenvolvedores, se o app do Chat se autenticar como usuário, ele poderá criar mensagens de card. Se o app do Chat não fizer parte do Programa de Prévia para Desenvolvedores, ele não poderá criar cards com autenticação de usuário.

Para saber como criar uma mensagem que contém cards, consulte Enviar uma mensagem.

Crie e visualize cards com o Criador de cards.

Abra o Criador de Cards

Representação JSON
{
  "cardId": string,
  "card": {
    object (Card)
  },
  "ownerUser": {
    object (User)
  }
}
Campos
cardId

string

Obrigatório se a mensagem tiver vários cards. Um identificador exclusivo de um card em uma mensagem.

card

object (Card)

Um cartão. O tamanho máximo é de 32 KB.

ownerUser

object (User)

Apenas saída. O app proprietário do cartão.

Annotation

As anotações podem ser associadas ao corpo de texto simples da mensagem ou a ícones que levam a recursos do Google Workspace, como o Google Docs ou as Planilhas, com startIndex e length de 0. Para adicionar formatação básica a uma mensagem de texto, consulte Formatar mensagens de texto.

Exemplo de corpo da mensagem em texto simples:

Hello @FooBot how are you!"

Os metadados de anotações correspondentes:

"annotations":[{
  "type":"USER_MENTION",
  "startIndex":6,
  "length":7,
  "userMention": {
    "user": {
      "name":"users/{user}",
      "displayName":"FooBot",
      "avatarUrl":"https://goo.gl/aeDtrS",
      "type":"BOT"
    },
    "type":"MENTION"
   }
}]
Representação JSON
{
  "type": enum (AnnotationType),
  "length": integer,
  "startIndex": integer,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "userMention": {
    object (UserMentionMetadata)
  },
  "slashCommand": {
    object (SlashCommandMetadata)
  },
  "richLinkMetadata": {
    object (RichLinkMetadata)
  },
  "customEmojiMetadata": {
    object (CustomEmojiMetadata)
  }
}
Campos
type

enum (AnnotationType)

O tipo da anotação.

length

integer

Comprimento da substring no corpo da mensagem de texto simples a que essa anotação corresponde. Se não estiver presente, indica um comprimento de 0.

startIndex

integer

Índice inicial (baseado em 0, inclusive) no corpo da mensagem de texto simples a que essa anotação corresponde.

Metadados adicionais sobre a anotação. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
userMention

object (UserMentionMetadata)

Os metadados da menção ao usuário.

slashCommand

object (SlashCommandMetadata)

Os metadados de um comando de barra.

customEmojiMetadata

object (CustomEmojiMetadata)

Os metadados de um emoji personalizado.

Fim dos campos mutuamente exclusivos.

AnnotationType

Tipo da anotação.

Tipos enumerados
ANNOTATION_TYPE_UNSPECIFIED Valor padrão do tipo enumerado. Não use.
USER_MENTION Um usuário é mencionado.
SLASH_COMMAND Um comando de barra é invocado.
CUSTOM_EMOJI Uma anotação de emoji personalizado.

UserMentionMetadata

Metadados de anotação para menções de usuários (@).

Representação JSON
{
  "user": {
    object (User)
  },
  "type": enum (Type)
}
Campos
user

object (User)

O usuário mencionado.

type

enum (Type)

O tipo de menção ao usuário.

Tipo

Tipos enumerados
TYPE_UNSPECIFIED Valor padrão do tipo enumerado. Não use.
ADD Adicionar usuário ao espaço.
MENTION Mencionar usuário no espaço.

SlashCommandMetadata

Metadados de anotação para comandos de barra (/).

Representação JSON
{
  "bot": {
    object (User)
  },
  "type": enum (Type),
  "commandName": string,
  "commandId": string,
  "triggersDialog": boolean
}
Campos
bot

object (User)

O app do Chat que teve o comando invocado.

type

enum (Type)

O tipo de comando de barra.

commandName

string

O nome do comando de barra invocado.

commandId

string (int64 format)

O ID do comando de barra invocado.

triggersDialog

boolean

Indica se o comando de barra é para uma caixa de diálogo.

Tipo

Tipos enumerados
TYPE_UNSPECIFIED Valor padrão do tipo enumerado. Não use.
ADD Adicionar o app do Chat ao espaço.
INVOKE Invoque o comando de barra no espaço.

RichLinkMetadata

Um link avançado para um recurso. Os links avançados podem ser associados ao corpo de texto simples da mensagem ou representar ícones que levam a recursos do Google Workspace, como o Google Docs ou as Planilhas, com startIndex e length de 0.

Representação JSON
{
  "uri": string,
  "richLinkType": enum (RichLinkType),

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "driveLinkData": {
    object (DriveLinkData)
  },
  "chatSpaceLinkData": {
    object (ChatSpaceLinkData)
  },
  "meetSpaceLinkData": {
    object (MeetSpaceLinkData)
  },
  "calendarEventLinkData": {
    object (CalendarEventLinkData)
  }
}
Campos
uri

string

O URI desse link.

Dados do recurso vinculado. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
Fim dos campos mutuamente exclusivos.

RichLinkType

O tipo de link avançado. Mais tipos podem ser adicionados no futuro.

Tipos enumerados
DRIVE_FILE Um tipo de link avançado do Google Drive.
CHAT_SPACE Um tipo de link avançado de espaço do Chat. Por exemplo, um ícone inteligente de espaço.
GMAIL_MESSAGE Um tipo de link avançado de mensagem do Gmail. Especificamente, um ícone do Gmail de Compartilhar no Chat. A API só é compatível com a leitura de mensagens com links diretos GMAIL_MESSAGE.
MEET_SPACE Um tipo de link avançado de mensagem do Meet. Por exemplo, um ícone do Meet.
CALENDAR_EVENT Um tipo de link de mensagem da Agenda. Por exemplo, um ícone da Agenda.

DriveLinkData

Dados para links do Google Drive.

Representação JSON
{
  "driveDataRef": {
    object (DriveDataRef)
  },
  "mimeType": string
}
Campos
driveDataRef

object (DriveDataRef)

Uma DriveDataRef que faz referência a um arquivo do Google Drive.

mimeType

string

O tipo MIME do recurso vinculado do Google Drive.

ChatSpaceLinkData

Dados para links de espaços do Chat.

Representação JSON
{
  "space": string,
  "thread": string,
  "message": string
}
Campos
space

string

O espaço do recurso de espaço do Chat vinculado.

Formato: spaces/{space}

thread

string

A conversa do recurso de espaço do Chat vinculado.

Formato: spaces/{space}/threads/{thread}

message

string

A mensagem do recurso de espaço do Chat vinculado.

Formato: spaces/{space}/messages/{message}

MeetSpaceLinkData

Dados dos links de espaços para reuniões.

Representação JSON
{
  "meetingCode": string,
  "type": enum (Type),
  "huddleStatus": enum (HuddleStatus)
}
Campos
meetingCode

string

Código da reunião do espaço do Meet vinculado.

type

enum (Type)

Indica o tipo de espaço para reuniões.

huddleStatus

enum (HuddleStatus)

Opcional. Apenas saída. Se o Meet for uma reunião rápida, indica o status dela. Caso contrário, ele não será definido.

Tipo

O tipo de espaço para reuniões.

Tipos enumerados
TYPE_UNSPECIFIED Valor padrão do tipo enumerado. Não use.
MEETING O espaço para reuniões do Meet é uma reunião.
HUDDLE O espaço para reuniões do Meet é uma reunião rápida.

HuddleStatus

O status da reunião

Tipos enumerados
HUDDLE_STATUS_UNSPECIFIED Valor padrão do tipo enumerado. Não use.
STARTED A reunião rápida começou.
ENDED A reunião rápida foi encerrada. Nesse caso, o URI e os identificadores do espaço para reuniões não serão mais válidos.
MISSED A reunião rápida foi perdida. Nesse caso, o URI e os identificadores do espaço para reuniões não serão mais válidos.

CalendarEventLinkData

Dados para links de eventos da Agenda.

Representação JSON
{
  "calendarId": string,
  "eventId": string
}
Campos
calendarId

string

O identificador da agenda vinculada.

eventId

string

O identificador do evento do evento da agenda vinculado.

CustomEmojiMetadata

Metadados de anotação para emojis personalizados.

Representação JSON
{
  "customEmoji": {
    object (CustomEmoji)
  }
}
Campos
customEmoji

object (CustomEmoji)

O emoji personalizado.

Conversa

Uma conversa em um espaço do Google Chat. Para ver um exemplo de uso, consulte Iniciar ou responder a uma conversa de mensagem.

Se você especificar uma conversa ao criar uma mensagem, poderá definir o campo messageReplyOption para determinar o que acontece se nenhuma conversa correspondente for encontrada.

Representação JSON
{
  "name": string,
  "threadKey": string
}
Campos
name

string

Identificador. Nome do recurso da conversa.

Exemplo: spaces/{space}/threads/{thread}

threadKey

string

Opcional. Entrada para criar ou atualizar uma conversa. Caso contrário, somente saída. ID da conversa. Aceita até 4.000 caracteres.

Esse ID é exclusivo do app do Chat que o define. Por exemplo, se vários apps do Chat criarem uma mensagem usando a mesma chave de conversa, as mensagens serão postadas em conversas diferentes. Para responder em uma conversa criada por uma pessoa ou outro app do Chat, especifique o campo name da conversa.

ActionResponse

Parâmetros que um app do Chat pode usar para configurar como a resposta é postada.

Representação JSON
{
  "type": enum (ResponseType),
  "url": string,
  "dialogAction": {
    object (DialogAction)
  },
  "updatedWidget": {
    object (UpdatedWidget)
  }
}
Campos
type

enum (ResponseType)

Somente entrada. O tipo de resposta do app do Chat.

url

string

Somente entrada. URL para os usuários se autenticarem ou configurarem. (Somente para tipos de resposta REQUEST_CONFIG.)

dialogAction

object (DialogAction)

Somente entrada. Uma resposta a um evento de interação relacionado a uma caixa de diálogo. Precisa ser acompanhado por ResponseType.Dialog.

updatedWidget

object (UpdatedWidget)

Somente entrada. A resposta do widget atualizado.

ResponseType

O tipo de resposta do app do Chat.

Tipos enumerados
TYPE_UNSPECIFIED Tipo padrão que é processado como NEW_MESSAGE.
NEW_MESSAGE Postar como uma nova mensagem no tópico.
UPDATE_MESSAGE Atualize a mensagem do app do Chat. Isso só é permitido em um evento CARD_CLICKED em que o tipo de remetente da mensagem é BOT.
UPDATE_USER_MESSAGE_CARDS Atualizar os cards na mensagem de um usuário. Isso só é permitido como resposta a um evento MESSAGE com um URL correspondente ou a um evento CARD_CLICKED em que o tipo de remetente da mensagem é HUMAN. O texto é ignorado.
REQUEST_CONFIG Peça ao usuário, de forma particular, mais autenticação ou configuração.
DIALOG Apresenta uma caixa de diálogo.
UPDATE_WIDGET Consulta de opções de preenchimento automático de texto do widget.

DialogAction

Contém uma caixa de diálogo e um código de status da solicitação.

Representação JSON
{
  "actionStatus": {
    object (ActionStatus)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "dialog": {
    object (Dialog)
  }
}
Campos
actionStatus

object (ActionStatus)

Somente entrada. Status de uma solicitação para invocar ou enviar uma caixa de diálogo. Mostra um status e uma mensagem aos usuários, se necessário. Por exemplo, em caso de erro ou sucesso.

Ação a ser realizada. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
dialog

object (Dialog)

Somente entrada. Caixa de diálogo da solicitação.

Fim dos campos mutuamente exclusivos.

Dialog

Wrapper ao redor do corpo do card da caixa de diálogo.

Representação JSON
{
  "body": {
    object (Card)
  }
}
Campos
body

object (Card)

Somente entrada. Corpo da caixa de diálogo, que é renderizado em um modal. Os apps do Google Chat não são compatíveis com as seguintes entidades de card: DateTimePicker, OnChangeAction.

ActionStatus

Representa o status de uma solicitação para invocar ou enviar uma caixa de diálogo.

Representação JSON
{
  "statusCode": enum (Code),
  "userFacingMessage": string
}
Campos
statusCode

enum (Code)

O código de status.

userFacingMessage

string

A mensagem que será enviada aos usuários sobre o status da solicitação. Se não for definida, uma mensagem genérica com base no statusCode será enviada.

Código

Códigos de erros canônicos para APIs gRPC.

Às vezes, vários códigos de erros podem ser aplicados. Os serviços retornam o código do erro mais específico aplicável. Por exemplo, dê preferência a OUT_OF_RANGE em vez de FAILED_PRECONDITION, se ambos os códigos se aplicarem. Da mesma maneira, dê preferência a NOT_FOUND ou ALREADY_EXISTS em vez de FAILED_PRECONDITION.

Tipos enumerados
OK

Não é um erro. Retornado quando bem-sucedido.

Mapeamento HTTP: 200 OK

CANCELLED

A operação foi cancelada, geralmente pelo chamador

Mapeamento HTTP: 499 Solicitação fechada pelo cliente

UNKNOWN

Erro desconhecido. Por exemplo, esse erro pode ser retornado quando um valor Status recebido de outro espaço de endereço pertence a um espaço de erro desconhecido nesse espaço de endereço. Além disso, os erros gerados por APIs que não retornam informações de erro suficientes podem ser convertidos neste erro.

Mapeamento HTTP: 500 Erro interno do servidor

INVALID_ARGUMENT

O cliente especificou um argumento inválido. Observe que isso é diferente de FAILED_PRECONDITION. INVALID_ARGUMENT indica argumentos problemáticos, independentemente do estado do sistema. Por exemplo, um nome de arquivo incorreto.

Mapeamento HTTP: 400 Solicitação inválida

DEADLINE_EXCEEDED

O prazo expirou antes do término da operação. Para operações que alteram o estado do sistema, este erro pode ser retornado mesmo que a operação tenha sido concluída com sucesso. Por exemplo, uma resposta bem-sucedida de um servidor pode ter atrasado tempo suficiente para que o prazo expirasse.

Mapeamento HTTP: 504 Tempo limite do gateway

NOT_FOUND

Alguma entidade solicitada não foi encontrada. Por exemplo, arquivo ou diretório.

Observação para desenvolvedores de servidor: se uma solicitação for negada para uma classe inteira de usuários, como a implementação gradual de recursos ou a lista de permissões não documentada de permissões, NOT_FOUND poderá ser usado. Se uma solicitação for negada para alguns usuários de uma classe de usuários, como o controle de acesso baseado em usuário, PERMISSION_DENIED precisará ser usado.

Mapeamento HTTP: 404 Não encontrado

ALREADY_EXISTS

A entidade que um cliente tentou criar já existe. Por exemplo, arquivo ou diretório.

Mapeamento HTTP: 409 Conflito

PERMISSION_DENIED

O autor da chamada não tem permissão para executar a operação especificada. PERMISSION_DENIED não pode ser usado para rejeições causadas pelo esgotamento de algum recurso. Em vez dele, use RESOURCE_EXHAUSTED para esses erros. PERMISSION_DENIED não poderá ser usado se o autor da chamada não for identificado. Em vez dele, use UNAUTHENTICATED para esses erros. Esse código do erro não indica que a solicitação seja válida nem que a entidade solicitada exista ou satisfaça outras condições prévias.

Mapeamento HTTP: 403 Proibido

UNAUTHENTICATED

A solicitação não tem credenciais válidas de autenticação para a operação.

Mapeamento HTTP: 401 Não autorizado

RESOURCE_EXHAUSTED

Houve o esgotamento de algum recurso, como uma cota por usuário. Também é possível que todo sistema de arquivos esteja sem espaço.

Mapeamento HTTP: 429 Há muitas solicitações

FAILED_PRECONDITION

A operação foi rejeitada porque o estado do sistema não é o necessário para a execução dela. Por exemplo, o diretório a ser excluído não está vazio, uma operação "rmdir" foi aplicada a um elemento que não é um diretório etc.

Os implementadores de serviços podem usar as diretrizes a seguir para decidir entre FAILED_PRECONDITION, ABORTED e UNAVAILABLE: (a) usar UNAVAILABLE se o cliente puder repetir apenas a chamada com falha. (b) Use ABORTED se o cliente precisar tentar novamente em um nível mais alto. Por exemplo, quando um teste e um conjunto especificado pelo cliente falha, indicando que o cliente precisa reiniciar uma sequência de leitura-modificação-gravação. (c) Use FAILED_PRECONDITION se o cliente não tentar novamente até que o estado do sistema seja explicitamente corrigido. Por exemplo, se houver falha em um "rmdir" porque o diretório não está vazio, FAILED_PRECONDITION será retornado, porque o cliente não precisa tentar novamente, a menos que os arquivos sejam excluídos do diretório.

Mapeamento HTTP: 400 Solicitação inválida

ABORTED

A operação foi cancelada. Isso ocorre normalmente devido a um problema de simultaneidade, como falha na verificação do sequenciador ou cancelamento da transação.

Consulte as diretrizes acima para decidir entre FAILED_PRECONDITION, ABORTED e UNAVAILABLE.

Mapeamento HTTP: 409 Conflito

OUT_OF_RANGE

Houve uma tentativa da operação depois do intervalo válido. Por exemplo, busca ou leitura após o fim do arquivo.

Diferentemente de INVALID_ARGUMENT, este erro indica um problema que poderá ser corrigido se o estado do sistema mudar. Por exemplo, um sistema de arquivos de 32 bits gerará INVALID_ARGUMENT se for solicitado a ler em um deslocamento fora do intervalo [0,2^32-1], mas gerará OUT_OF_RANGE se for solicitado a ler um deslocamento que ultrapasse o tamanho do arquivo atual.

Há alguma sobreposição entre FAILED_PRECONDITION e OUT_OF_RANGE. Recomendamos usar OUT_OF_RANGE (o erro mais específico) quando aplicável para que os autores da chamada que estão iterando por meio de um espaço possam procurar facilmente um erro OUT_OF_RANGE a fim de detectar quando tiverem concluído.

Mapeamento HTTP: 400 Solicitação inválida

UNIMPLEMENTED

A operação não foi implementada ou não é compatível nem está ativada neste serviço.

Mapeamento HTTP: 501 Não implementado

INTERNAL

Erros internos. Significa que algumas invariantes esperadas pelo sistema subjacente foram corrompidas. Este código do erro é reservado para erros graves.

Mapeamento HTTP: 500 Erro interno do servidor

UNAVAILABLE

Atualmente, o serviço não está disponível. Muito provavelmente, trata-se de uma condição temporária, que pode ser corrigida ao tentar novamente com uma retirada. Nem sempre é seguro repetir operações não idempotentes.

Consulte as diretrizes acima para decidir entre FAILED_PRECONDITION, ABORTED e UNAVAILABLE.

Mapeamento HTTP: 503 Serviço indisponível

DATA_LOSS

Perda ou corrupção irrecuperável de dados.

Mapeamento HTTP: 500 Erro interno do servidor

UpdatedWidget

Para widgets selectionInput, retorna sugestões de preenchimento automático para um menu de seleção múltipla.

Representação JSON
{
  "widget": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "suggestions": {
    object (SelectionItems)
  }
}
Campos
widget

string

O ID do widget atualizado. O ID precisa corresponder ao do widget que acionou a solicitação de atualização.

O widget foi atualizado em resposta a uma ação do usuário. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
suggestions

object (SelectionItems)

Lista de resultados de preenchimento automático do widget

Fim dos campos mutuamente exclusivos.

SelectionItems

Lista de resultados de preenchimento automático do widget.

Representação JSON
{
  "items": [
    {
      object (SelectionItem)
    }
  ]
}
Campos
items[]

object (SelectionItem)

Uma matriz de objetos SelectionItem.

SlashCommand

Metadados sobre um comando de barra no Google Chat.

Representação JSON
{
  "commandId": string
}
Campos
commandId

string (int64 format)

O ID do comando de barra.

MatchedUrl

Um URL correspondente em uma mensagem de chat. Os apps do Chat podem mostrar uma prévia dos URLs correspondentes. Para mais informações, consulte Visualizar links.

Representação JSON
{
  "url": string
}
Campos
url

string

Apenas saída. O URL que foi correspondido.

EmojiReactionSummary

O número de pessoas que reagiram a uma mensagem com um emoji específico.

Representação JSON
{
  "emoji": {
    object (Emoji)
  },
  "reactionCount": integer
}
Campos
emoji

object (Emoji)

Apenas saída. Emoji associado às reações.

reactionCount

integer

Apenas saída. O número total de reações usando o emoji associado.

DeletionMetadata

Informações sobre uma mensagem excluída. Uma mensagem é excluída quando deleteTime é definido.

Representação JSON
{
  "deletionType": enum (DeletionType)
}
Campos
deletionType

enum (DeletionType)

Indica quem excluiu a mensagem.

DeletionType

Quem excluiu a mensagem e como ela foi excluída. Mais valores podem ser adicionados no futuro. Consulte Editar ou excluir uma mensagem no Google Chat para saber quando as mensagens podem ser excluídas.

Tipos enumerados
DELETION_TYPE_UNSPECIFIED Esse valor não é usado.
CREATOR O usuário excluiu a própria mensagem.
SPACE_OWNER Um proprietário ou administrador excluiu a mensagem.
ADMIN Um administrador do Google Workspace excluiu a mensagem. Os administradores podem excluir qualquer mensagem no espaço, incluindo as enviadas por qualquer participante ou app do Chat.
APP_MESSAGE_EXPIRY Um app do Chat excluiu a própria mensagem quando ela expirou.
CREATOR_VIA_APP Um app do Chat excluiu a mensagem em nome do criador (usando a autenticação do usuário).
SPACE_OWNER_VIA_APP Um app do Chat excluiu a mensagem em nome de um administrador do espaço (usando a autenticação do usuário).
SPACE_MEMBER Um participante do espaço excluiu a mensagem. Os usuários podem excluir mensagens enviadas por apps.

QuotedMessageMetadata

Informações sobre uma mensagem que outra mensagem cita.

Ao atualizar uma mensagem, não é possível adicionar ou substituir o campo quotedMessageMetadata, mas é possível removê-lo.

Para ver um exemplo de uso, consulte Citar outra mensagem.

Representação JSON
{
  "name": string,
  "lastUpdateTime": string,
  "quoteType": enum (QuoteType),
  "quotedMessageSnapshot": {
    object (QuotedMessageSnapshot)
  },
  "forwardedMetadata": {
    object (ForwardedMetadata)
  }
}
Campos
name

string

Obrigatório. Nome do recurso da mensagem citada.

Formato: spaces/{space}/messages/{message}

lastUpdateTime

string (Timestamp format)

Obrigatório. O carimbo de data/hora de quando a mensagem citada foi criada ou atualizada pela última vez.

Se a mensagem foi editada, use este campo, lastUpdateTime. Se a mensagem nunca foi editada, use createTime.

Se lastUpdateTime não corresponder à versão mais recente da mensagem citada, a solicitação vai falhar.

quoteType

enum (QuoteType)

Opcional. Especifica o tipo de citação. Se não for definido, o padrão será REPLY no caminho de leitura/gravação da mensagem para compatibilidade com versões anteriores.

quotedMessageSnapshot

object (QuotedMessageSnapshot)

Apenas saída. Um resumo do conteúdo da mensagem citada.

forwardedMetadata

object (ForwardedMetadata)

Apenas saída. Metadados sobre o espaço de origem da mensagem citada. Preenchido apenas para o tipo de cotação FORWARD.

QuoteType

O tipo de citação da mensagem citada.

Tipos enumerados
QUOTE_TYPE_UNSPECIFIED Reservado. Esse valor não é usado.
REPLY

Quando quoteType é REPLY, é possível fazer o seguinte:

  • Se você estiver respondendo em uma conversa, poderá citar outra mensagem nela.

  • Se você estiver criando uma mensagem raiz, poderá citar outra mensagem raiz nesse espaço.

FORWARD

Quando quoteType é FORWARD, você pode citar:

  • Mensagem de um espaço diferente.

  • Resposta de uma mensagem de uma conversa diferente no mesmo espaço.

QuotedMessageSnapshot

Mostra uma captura de tela do conteúdo da mensagem citada no momento da citação ou do encaminhamento.

Representação JSON
{
  "sender": string,
  "text": string,
  "formattedText": string,
  "annotations": [
    {
      object (Annotation)
    }
  ],
  "attachments": [
    {
      object (Attachment)
    }
  ]
}
Campos
sender

string

Apenas saída. O nome do autor da mensagem citada. Preenchido para os tipos de citação REPLY e FORWARD.

text

string

Apenas saída. Captura de tela do conteúdo de texto da mensagem citada.

formattedText

string

Apenas saída. Contém a mensagem citada text com marcações adicionadas para oferecer suporte à formatação avançada,como hiperlinks, emojis personalizados, marcação etc. Preenchido apenas para o tipo de citação FORWARD.

annotations[]

object (Annotation)

Apenas saída. Anotações analisadas do corpo de texto da mensagem citada. Preenchido apenas para o tipo de cotação FORWARD.

attachments[]

object (Attachment)

Apenas saída. Anexos que faziam parte da mensagem citada. São cópias dos metadados do anexo da mensagem citada. Preenchido apenas para o tipo de cotação FORWARD.

ForwardedMetadata

Metadados sobre o espaço de origem de onde uma mensagem foi encaminhada.

Representação JSON
{
  "space": string,
  "spaceDisplayName": string
}
Campos
space

string

Apenas saída. O nome do recurso do espaço de origem. Formato: spaces/{space}

spaceDisplayName

string

Apenas saída. O nome de exibição do espaço ou da mensagem direta de origem no momento do encaminhamento. Para SPACE, esse é o nome do espaço. Para DIRECT_MESSAGE, esse é o nome do outro participante (por exemplo, "Usuário A"). Para GROUP_CHAT, esse é um nome gerado com base nos nomes dos membros, limitado a 5, incluindo o criador (por exemplo, "Usuário A, Usuário B").

AttachedGif

Uma imagem GIF especificada por um URL.

Representação JSON
{
  "uri": string
}
Campos
uri

string

Apenas saída. O URL que hospeda a imagem GIF.

AccessoryWidget

Um ou mais widgets interativos que aparecem na parte de baixo de uma mensagem. Para mais detalhes, consulte Adicionar widgets interativos na parte de baixo de uma mensagem.

Representação JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "buttonList": {
    object (ButtonList)
  }
}
Campos
O tipo de ação. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
buttonList

object (ButtonList)

Uma lista de botões.

Fim dos campos mutuamente exclusivos.

Elementos

Os elementos são componentes adicionais que podem ou não estar associados ao texto da mensagem fornecido durante a criação dela.

Representação JSON
{
  "citedSources": [
    {
      object (CitedSource)
    }
  ],
  "citations": [
    {
      object (Citation)
    }
  ]
}
Campos
citedSources[]

object (CitedSource)

Uma lista de fontes que serão mostradas abaixo da mensagem como links de rodapé. Eles não são referenciados inline. Para referências inline, use citations.

citations[]

object (Citation)

Uma lista de citações inline referenciadas no texto da mensagem (com tags <chat-citation>) que são renderizadas como cards de informações interativos.

CitedSource

Uma referência a uma fonte de informações.

Representação JSON
{
  "title": string,
  "uri": string,
  "snippet": {
    object (Snippet)
  },
  "footer": {
    object (Footer)
  }
}
Campos
title

string

Obrigatório. O título em texto simples do CitedSource. Este campo não aceita formatação.

uri

string

Obrigatório. O URI que aponta para o recurso referenciado por este CitedSource.

snippet

object (Snippet)

Opcional. Snippet com informações diretamente da fonte.

footer

object (Footer)

Opcional. Informações adicionais para mostrar ao lado do snippet na forma de um rodapé.

Snippet

Um objeto de snippet que representa um trecho de um corpus maior.

Representação JSON
{
  "text": string,
  "imagePreview": {
    object (ElementsImage)
  }
}
Campos
text

string

Opcional. Um trecho curto de texto simples diretamente do corpus que pode ser renderizado no Chat. Não é compatível com o formato Markdown.

imagePreview

object (ElementsImage)

Opcional. Prévia da imagem do snippet fornecido como entrada ao criar a citação.

ElementsImage

Um objeto que encapsula diferentes maneiras de representar uma imagem. Representações atualmente aceitas: - Uma imagem buscada em um URI. Outras representações podem ser aceitas no futuro.

Representação JSON
{

  "imageUri": string
}
Campos
Obrigatório. Uma das representações de imagem compatíveis. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
imageUri

string

Obrigatório. Um URI acessível publicamente para uma imagem.

Fim dos campos mutuamente exclusivos.

Um rodapé para uma fonte, usado para atribuição.

Representação JSON
{
  "text": string
}
Campos
text

string

Opcional. O texto que vai aparecer no rodapé.

Citação

As citações são referências inline que podem fornecer aos usuários informações mais detalhadas sobre a referência inline. As citações inline correspondentes precisam estar presentes no texto da mensagem em um formato de marcação de <chat-citation data-id="{id}">{text}</chat-citation>. As citações só são aceitas quando o markupSyntax da mensagem está definido como MARKDOWN.

As citações não referenciadas em Elements.citations (aquelas sem uma tag <chat-citation> correspondente no texto da mensagem) são ignoradas e não fazem com que a mensagem seja rejeitada.

Representação JSON
{
  "id": string,
  "citedSources": [
    {
      object (CitedSource)
    }
  ]
}
Campos
id

string

Obrigatório. ID definido pelo app. Precisa conter apenas letras e números ASCII e ter menos de 63 caracteres.

citedSources[]

object (CitedSource)

Opcional. Uma lista de fontes relevantes para a citação. As fontes são mostradas no card de informações da citação.

MarkupSyntax

Especifica a sintaxe de marcação usada para formatar o texto da mensagem de chat. Aplica-se ao campo text do recurso Message.

Tipos enumerados
MARKUP_SYNTAX_UNSPECIFIED Representa o valor não especificado.
MARKUP_SYNTAX_CHAT Usa a sintaxe de marcação do Google Chat. Consulte https://developers.google.com/workspace/chat/format-messages#format-texts para mais informações.
MARKUP_SYNTAX_MARKDOWN Usa a sintaxe de Markdown. Essa sintaxe é baseada na especificação CommonMark, com extensões adicionais. Consulte https://developers.google.com/workspace/chat/format-messages#format-texts para mais informações.

Métodos

create

Cria uma mensagem em um espaço do Google Chat.

delete

Exclui uma mensagem.

get

Retorna detalhes sobre uma mensagem.

list

Lista as mensagens em um espaço em que o autor da chamada é um participante, incluindo mensagens de participantes e espaços bloqueados.

patch

Atualiza uma mensagem.

replaceCards

Substitui os cards incluídos em uma mensagem.
Pesquisa mensagens no Google Chat que o usuário que está fazendo a chamada pode acessar.

update

Atualiza uma mensagem.