Method: spaces.messages.create
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Cria uma mensagem em um espaço do Google Chat. Confira um exemplo em Enviar uma mensagem.
Oferece suporte aos seguintes tipos de autenticação:
- Autenticação do app com o escopo de autorização:
https://www.googleapis.com/auth/chat.bot
- Autenticação do usuário com um dos seguintes escopos de autorização:
https://www.googleapis.com/auth/chat.messages.create
https://www.googleapis.com/auth/chat.messages
https://www.googleapis.com/auth/chat.import
(somente espaços do modo de importação)
O Chat atribui o remetente da mensagem de maneira diferente, dependendo do tipo de autenticação usado na solicitação.
A imagem a seguir mostra como o Chat atribui uma mensagem quando você usa a autenticação de app. O Chat mostra o app do Chat como o remetente da mensagem. O conteúdo da mensagem pode incluir texto (text
), cards (cardsV2
) e widgets de acessórios (accessoryWidgets
).

A imagem a seguir mostra como o Chat atribui uma mensagem quando você usa a autenticação do usuário. O Chat mostra o usuário como o remetente da mensagem e atribui o app Chat à mensagem mostrando o nome dele. O conteúdo da mensagem só pode conter texto (text
).

O tamanho máximo da mensagem, incluindo o conteúdo, é de 32.000 bytes.
Para solicitações de webhook, a resposta não contém a mensagem completa. A resposta preenche apenas os campos name
e thread.name
, além das informações que estavam na solicitação.
Solicitação HTTP
POST https://chat.googleapis.com/v1/{parent=spaces/*}/messages
O URL usa a sintaxe de transcodificação gRPC.
Parâmetros de caminho
Parâmetros |
parent |
string
Obrigatório. O nome do recurso do espaço em que uma mensagem será criada. Formato: spaces/{space}
|
Parâmetros de consulta
Parâmetros |
threadKey (deprecated) |
string
Opcional. Descontinuado: use thread.thread_key . ID da linha de execução. Aceita até 4.000 caracteres. Para iniciar ou adicionar uma conversa, crie uma mensagem e especifique um threadKey ou o thread.name . Para conferir um exemplo de uso, consulte Iniciar ou responder a uma conversa.
|
requestId |
string
Opcional. Um ID de solicitação exclusivo para essa mensagem. Especificar um ID de solicitação atual retorna a mensagem criada com esse ID em vez de criar uma nova mensagem.
|
messageReplyOption |
enum (MessageReplyOption )
Opcional. Especifica se uma mensagem inicia uma conversa ou responde a uma. Somente compatível com espaços nomeados. Esse campo é ignorado quando responde a interações do usuário. Para interações em uma conversa, a resposta é criada na mesma conversa. Caso contrário, a resposta será criada como uma nova linha de execução.
|
messageId |
string
Opcional. Um ID personalizado para uma mensagem. Permite que os apps do Chat recebam, atualizem ou excluam uma mensagem sem precisar armazenar o ID atribuído pelo sistema no nome do recurso da mensagem (representado no campo name da mensagem). O valor desse campo precisa atender aos seguintes requisitos:
- Começa com
client- . Por exemplo, client-custom-name é um ID personalizado válido, mas custom-name não é.
- Contém até 63 caracteres e apenas letras minúsculas, números e hifens.
- É exclusivo em um espaço. Um app de chat não pode usar o mesmo ID personalizado para mensagens diferentes.
Confira mais detalhes em Nomear uma mensagem.
|
Corpo da solicitação
O corpo da solicitação contém uma instância de Message
.
Corpo da resposta
Se a solicitação for bem-sucedida, o corpo da resposta incluirá uma instância de Message
.
Escopos de autorização
Requer um dos seguintes escopos do OAuth:
https://www.googleapis.com/auth/chat.bot
https://www.googleapis.com/auth/chat.import
https://www.googleapis.com/auth/chat.messages
https://www.googleapis.com/auth/chat.messages.create
Para mais informações, consulte o guia de autorização.
MessageReplyOption
Especifica como responder a uma mensagem. Mais estados poderão ser adicionados no futuro.
Enums |
MESSAGE_REPLY_OPTION_UNSPECIFIED |
Padrão. Inicia uma nova linha de execução. O uso dessa opção ignora qualquer thread ID ou threadKey incluído. |
REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD |
Cria a mensagem como uma resposta à conversa especificada por thread ID ou threadKey . Se ela falhar, a mensagem vai iniciar uma nova linha de execução. |
REPLY_MESSAGE_OR_FAIL |
Cria a mensagem como uma resposta à conversa especificada por thread ID ou threadKey . Se um novo threadKey for usado, uma nova linha de execução será criada. Se a criação da mensagem falhar, um erro NOT_FOUND será retornado. |
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-07-25 UTC.
[null,null,["Última atualização 2025-07-25 UTC."],[[["\u003cp\u003eCreates a message in a Google Chat space, attributing it to the Chat app or user based on authentication.\u003c/p\u003e\n"],["\u003cp\u003eSupports sending text, cards, and widgets using app authentication, while user authentication only allows text.\u003c/p\u003e\n"],["\u003cp\u003eOffers different message reply options for starting new threads or replying within existing ones.\u003c/p\u003e\n"],["\u003cp\u003eRequires specific authorization scopes for the request, such as \u003ccode\u003echat.bot\u003c/code\u003e or \u003ccode\u003echat.messages\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eProvides a way to name a message with a custom ID for easy retrieval and management within a space.\u003c/p\u003e\n"]]],["This document outlines the process for creating messages in Google Chat spaces via the `create()` method, using either user or app authentication. Messages can include text, cards, and widgets, with a maximum size of 32,000 bytes. The process involves a POST request to a specified URL with path parameters for the space and query parameters like `threadKey`, `requestId`, `messageReplyOption` and `messageId`. The request body defines the message content, and the successful response returns the new message details. It also specifies the required OAuth scopes.\n"],null,["# Method: spaces.messages.create\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Query parameters](#body.QUERY_PARAMETERS)\n- [Request body](#body.request_body)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [MessageReplyOption](#MessageReplyOption)\n- [Try it!](#try-it)\n\nCreates a message in a Google Chat space. For an example, see [Send a message](https://developers.google.com/workspace/chat/create-messages).\n\nSupports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize):\n\n- [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope:\n - `https://www.googleapis.com/auth/chat.bot`\n- [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes:\n - `https://www.googleapis.com/auth/chat.messages.create`\n - `https://www.googleapis.com/auth/chat.messages`\n - `https://www.googleapis.com/auth/chat.import` (import mode spaces only)\n\nChat attributes the message sender differently depending on the type of authentication that you use in your request.\n\nThe following image shows how Chat attributes a message when you use app authentication. Chat displays the Chat app as the message sender. The content of the message can contain text (`text`), cards (`cardsV2`), and accessory widgets (`accessoryWidgets`).\n\nThe following image shows how Chat attributes a message when you use user authentication. Chat displays the user as the message sender and attributes the Chat app to the message by displaying its name. The content of message can only contain text (`text`).\n\nThe maximum message size, including the message contents, is 32,000 bytes.\n\nFor [webhook](https://developers.google.com/workspace/chat/quickstart/webhooks) requests, the response doesn't contain the full message. The response only populates the `name` and `thread.name` fields in addition to the information that was in the request.\n\n### HTTP request\n\n`POST https://chat.googleapis.com/v1/{parent=spaces/*}/messages`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|----------|----------------------------------------------------------------------------------------------------------|\n| `parent` | `string` Required. The resource name of the space in which to create a message. Format: `spaces/{space}` |\n\n### Query parameters\n\n| Parameters ||\n|------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `threadKey` **(deprecated)** | `string` Optional. Deprecated: Use [thread.thread_key](/workspace/chat/api/reference/rest/v1/spaces.messages#Message.Thread.FIELDS.thread_key) instead. ID for the thread. Supports up to 4000 characters. To start or add to a thread, create a message and specify a `threadKey` or the [thread.name](/workspace/chat/api/reference/rest/v1/spaces.messages#Message.Thread.FIELDS.name). For example usage, see [Start or reply to a message thread](https://developers.google.com/workspace/chat/create-messages#create-message-thread). |\n| `requestId` | `string` Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message. |\n| `messageReplyOption` | `enum (`[MessageReplyOption](/workspace/chat/api/reference/rest/v1/spaces.messages/create#MessageReplyOption)`)` Optional. Specifies whether a message starts a thread or replies to one. Only supported in named spaces. When [responding to user interactions](https://developers.google.com/workspace/chat/receive-respond-interactions), this field is ignored. For interactions within a thread, the reply is created in the same thread. Otherwise, the reply is created as a new thread. |\n| `messageId` | `string` Optional. A custom ID for a message. Lets Chat apps get, update, or delete a message without needing to store the system-assigned ID in the message's resource name (represented in the message `name` field). The value for this field must meet the following requirements: - Begins with `client-`. For example, `client-custom-name` is a valid custom ID, but `custom-name` is not. - Contains up to 63 characters and only lowercase letters, numbers, and hyphens. - Is unique within a space. A Chat app can't use the same custom ID for different messages. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message). |\n\n### Request body\n\nThe request body contains an instance of [Message](/workspace/chat/api/reference/rest/v1/spaces.messages#Message).\n\n### Response body\n\nIf successful, the response body contains a newly created instance of [Message](/workspace/chat/api/reference/rest/v1/spaces.messages#Message).\n\n### Authorization scopes\n\nRequires one of the following OAuth scopes:\n\n- `https://www.googleapis.com/auth/chat.bot`\n- `https://www.googleapis.com/auth/chat.import`\n- `https://www.googleapis.com/auth/chat.messages`\n- `https://www.googleapis.com/auth/chat.messages.create`\n\nFor more information, see the [Authorization guide](/workspace/chat/authenticate-authorize).\n\nMessageReplyOption\n------------------\n\nSpecifies how to reply to a message. More states might be added in the future.\n\n| Enums ||\n|----------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `MESSAGE_REPLY_OPTION_UNSPECIFIED` | Default. Starts a new thread. Using this option ignores any [thread ID](/workspace/chat/api/reference/rest/v1/spaces.messages#Message.Thread.FIELDS.name) or [`threadKey`](/workspace/chat/api/reference/rest/v1/spaces.messages#Message.Thread.FIELDS.thread_key) that's included. |\n| `REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD` | Creates the message as a reply to the thread specified by [thread ID](/workspace/chat/api/reference/rest/v1/spaces.messages#Message.Thread.FIELDS.name) or [`threadKey`](/workspace/chat/api/reference/rest/v1/spaces.messages#Message.Thread.FIELDS.thread_key). If it fails, the message starts a new thread instead. |\n| `REPLY_MESSAGE_OR_FAIL` | Creates the message as a reply to the thread specified by [thread ID](/workspace/chat/api/reference/rest/v1/spaces.messages#Message.Thread.FIELDS.name) or [`threadKey`](/workspace/chat/api/reference/rest/v1/spaces.messages#Message.Thread.FIELDS.thread_key). If a new `threadKey` is used, a new thread is created. If the message creation fails, a `NOT_FOUND` error is returned instead. |"]]