Method: spaces.messages.create
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Создает сообщение в чате Google. Пример см. в разделе «Отправить сообщение» .
Поддерживает следующие типы аутентификации :
- Аутентификация приложения с областью авторизации:
-
https://www.googleapis.com/auth/chat.bot
- Аутентификация пользователя с использованием одной из следующих областей авторизации:
-
https://www.googleapis.com/auth/chat.messages.create
-
https://www.googleapis.com/auth/chat.messages
-
https://www.googleapis.com/auth/chat.import
(только пробелы режима импорта)
Chat атрибутирует отправителя сообщения по-разному в зависимости от типа аутентификации, который вы используете в своем запросе.
На следующем изображении показано, как Chat атрибутирует сообщение при использовании аутентификации приложения. Chat отображает приложение Chat в качестве отправителя сообщения. Содержимое сообщения может содержать текст ( text
), карточки ( cardsV2
) и дополнительные виджеты ( accessoryWidgets
).

На следующем изображении показано, как Chat атрибутирует сообщение при использовании аутентификации пользователя. Chat отображает пользователя как отправителя сообщения и связывает приложение Chat с сообщением, отображая его имя. Содержимое сообщения может содержать только текст ( text
).

Максимальный размер сообщения, включая его содержимое, составляет 32 000 байт.
Для запросов веб-перехватчика ответ не содержит полного сообщения. Ответ заполняет только поля name
и thread.name
в дополнение к информации, которая была в запросе.
HTTP-запрос
POST https://chat.googleapis.com/v1/{parent=spaces/*}/messages
URL-адрес использует синтаксис транскодирования gRPC .
Параметры пути
Параметры |
---|
parent | string Необходимый. Имя ресурса пространства, в котором создается сообщение. Формат: spaces/{space} |
Параметры запроса
Параметры |
---|
threadKey (deprecated) | string Необязательный. Устарело: вместо этого используйте thread.thread_key . Идентификатор потока. Поддерживает до 4000 символов. Чтобы запустить поток или добавить его, создайте сообщение и укажите threadKey или thread.name . Пример использования см. в разделе «Начать цепочку сообщений или ответить на нее» . |
requestId | string Необязательный. Уникальный идентификатор запроса для этого сообщения. Указание существующего идентификатора запроса возвращает сообщение, созданное с этим идентификатором, вместо создания нового сообщения. |
messageReplyOption | enum ( MessageReplyOption ) Необязательный. Указывает, запускает ли сообщение цепочку или отвечает на нее. Поддерживается только в именованных пространствах. При ответе на действия пользователя это поле игнорируется. При взаимодействии внутри потока ответ создается в том же потоке. В противном случае ответ создается как новая тема. |
messageId | string Необязательный. Пользовательский идентификатор сообщения. Позволяет приложениям чата получать, обновлять или удалять сообщения без необходимости сохранять назначенный системой идентификатор в имени ресурса сообщения (представленном в поле name сообщения). Значение этого поля должно соответствовать следующим требованиям: - Начинается с
client- . Например, client-custom-name является допустимым пользовательским идентификатором, а custom-name нет. - Содержит до 63 символов и только строчные буквы, цифры и дефисы.
- Уникальна в пространстве. Приложение чата не может использовать один и тот же собственный идентификатор для разных сообщений.
Подробности см. в разделе Назовите сообщение . |
Тело запроса
Тело запроса содержит экземпляр Message
.
Тело ответа
В случае успеха тело ответа содержит вновь созданный экземпляр Message
.
Области авторизации
Требуется одна из следующих областей 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
Дополнительную информацию см. в руководстве по авторизации .
Опция ответа сообщения
Указывает, как ответить на сообщение. В будущем могут быть добавлены и другие штаты.
Перечисления |
---|
MESSAGE_REPLY_OPTION_UNSPECIFIED | По умолчанию. Начинает новую тему. Использование этой опции игнорирует любой включенный thread ID или threadKey . |
REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD | Создает сообщение как ответ на поток, указанный thread ID или threadKey . Если это не удается, вместо этого сообщение запускает новый поток. |
REPLY_MESSAGE_OR_FAIL | Создает сообщение как ответ на поток, указанный thread ID или threadKey . Если используется новый threadKey , создается новый поток. Если создать сообщение не удалось, вместо этого возвращается ошибка NOT_FOUND . |
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-25 UTC.
[null,null,["Последнее обновление: 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. |"]]