Method: spaces.messages.create
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Tworzy wiadomość w pokoju Google Chat. Przykład znajdziesz w artykule Wysyłanie wiadomości.
Obsługuje te typy uwierzytelniania:
- Uwierzytelnianie aplikacji z zakresem autoryzacji:
https://www.googleapis.com/auth/chat.bot
- Uwierzytelnianie użytkownika za pomocą jednego z tych zakresów autoryzacji:
https://www.googleapis.com/auth/chat.messages.create
https://www.googleapis.com/auth/chat.messages
https://www.googleapis.com/auth/chat.import
(tylko pokoje w trybie importowania)
Google Chat przypisuje nadawcę wiadomości w różny sposób w zależności od typu uwierzytelniania użytego w prośbie.
Poniższy obraz pokazuje, jak Google Chat przypisuje wiadomość, gdy używasz uwierzytelniania aplikacji. Google Chat wyświetla aplikację Google Chat jako nadawcę wiadomości. Treść wiadomości może zawierać tekst (text
), karty (cardsV2
) i widżety dodatkowe (accessoryWidgets
).

Na ilustracji poniżej widać, jak Google Chat przypisuje wiadomość, gdy korzystasz z uwierzytelniania użytkownika. Google Chat wyświetla użytkownika jako nadawcę wiadomości i przypisuje do niej aplikację Google Chat, wyświetlając jej nazwę. Treść wiadomości może zawierać tylko tekst (text
).

Maksymalny rozmiar wiadomości, w tym jej zawartości, wynosi 32 tys. bajtów.
W przypadku żądań webhooka odpowiedź nie zawiera pełnej wiadomości. W odpowiedzi wypełniane są tylko pola name
i thread.name
oraz informacje z żądania.
Żądanie HTTP
POST https://chat.googleapis.com/v1/{parent=spaces/*}/messages
Adres URL używa składni transkodowania gRPC.
Parametry ścieżki
Parametry |
parent |
string
Wymagane. Nazwa zasobu pokoju, w którym chcesz utworzyć wiadomość. Format: spaces/{space}
|
Parametry zapytania
Parametry |
threadKey (deprecated) |
string
Opcjonalnie. Wycofane: użyj w zamian zasady thread.thread_key . Identyfikator wątku. Obsługuje maksymalnie 4000 znaków. Aby rozpocząć wątek lub dodać do niego wiadomość, utwórz wiadomość i określ threadKey lub thread.name . Przykładowe zastosowanie znajdziesz w artykule Rozpoczynanie wątku wiadomości lub odpowiadanie na niego.
|
requestId |
string
Opcjonalnie. Unikalny identyfikator żądania dla tej wiadomości. Podanie identyfikatora istniejącej prośby spowoduje zwrócenie wiadomości utworzonej z tym identyfikatorem, a nie utworzenie nowej wiadomości.
|
messageReplyOption |
enum (MessageReplyOption )
Opcjonalnie. Określa, czy wiadomość rozpoczyna wątek, czy na niego odpowiada. Obsługiwane tylko w nazwanych pokojach. Gdy reagujesz na interakcje użytkowników, to pole jest ignorowane. W przypadku interakcji w wątku odpowiedź jest tworzona w tym samym wątku. W przeciwnym razie odpowiedź zostanie utworzona jako nowy wątek.
|
messageId |
string
Opcjonalnie. Niestandardowy identyfikator wiadomości. Umożliwia aplikacjom Google Chat pobieranie, aktualizowanie i usuwanie wiadomości bez konieczności przechowywania przypisanego przez system identyfikatora w nazwie zasobu wiadomości (reprezentowanej w polu name wiadomości). Wartość tego pola musi spełniać te wymagania:
- Zaczyna się od
client- . Na przykład client-custom-name jest prawidłowym identyfikatorem niestandardowym, ale custom-name już nie.
- Może zawierać maksymalnie 63 znaki i tylko małe litery, cyfry oraz łączniki.
- jest niepowtarzalna w obrębie przestrzeni; Aplikacja do czatu nie może używać tego samego niestandardowego identyfikatora w różnych wiadomościach.
Szczegółowe informacje znajdziesz w artykule Nazywanie wiadomości.
|
Treść żądania
Treść żądania zawiera wystąpienie elementu Message
.
Treść odpowiedzi
Jeśli operacja się powiedzie, treść odpowiedzi będzie zawierała nowo utworzoną instancję Message
.
Zakresy autoryzacji
Wymaga jednego z tych zakresów 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
Więcej informacji znajdziesz w przewodniku dotyczącym autoryzacji.
MessageReplyOption
Określa sposób odpowiedzi na wiadomość. W przyszłości możemy dodać więcej stanów.
Wartości w polu enum |
MESSAGE_REPLY_OPTION_UNSPECIFIED |
Domyślny: rozpoczyna nowy wątek. Ta opcja ignoruje wszystkie uwzględnione wartości thread ID lub threadKey . |
REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD |
Tworzy wiadomość jako odpowiedź na wątek określony przez thread ID lub threadKey . Jeśli się nie uda, wiadomość rozpocznie nowy wątek. |
REPLY_MESSAGE_OR_FAIL |
Tworzy wiadomość jako odpowiedź na wątek określony przez thread ID lub threadKey . Jeśli użyto nowego threadKey , zostanie utworzony nowy wątek. Jeśli tworzenie wiadomości zakończy się niepowodzeniem, zamiast tego zwrócony zostanie błąd NOT_FOUND . |
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-25 UTC.
[null,null,["Ostatnia aktualizacja: 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. |"]]