Method: spaces.messages.create
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Crea un messaggio in uno spazio di Google Chat. Per un esempio, vedi Inviare un messaggio.
Supporta i seguenti tipi di autenticazione:
- Autenticazione app con l'ambito di autorizzazione:
https://www.googleapis.com/auth/chat.bot
- Autenticazione utente con uno dei seguenti ambiti di autorizzazione:
https://www.googleapis.com/auth/chat.messages.create
https://www.googleapis.com/auth/chat.messages
https://www.googleapis.com/auth/chat.import
(solo spazi in modalità di importazione)
Chat attribuisce il mittente del messaggio in modo diverso a seconda del tipo di autenticazione utilizzato nella richiesta.
L'immagine seguente mostra come Chat attribuisce un messaggio quando utilizzi l'autenticazione dell'app. Chat mostra l'app Chat come mittente del messaggio. I contenuti del messaggio possono includere testo (text
), schede (cardsV2
) e widget accessori (accessoryWidgets
).

L'immagine seguente mostra come Chat attribuisce un messaggio quando utilizzi l'autenticazione utente. Chat mostra l'utente come mittente del messaggio e attribuisce l'app Chat al messaggio mostrando il relativo nome. Il contenuto del messaggio può contenere solo testo (text
).

Le dimensioni massime del messaggio, inclusi i contenuti, sono 32.000 byte.
Per le richieste webhook, la risposta non contiene il messaggio completo. La risposta compila solo i campi name
e thread.name
, oltre alle informazioni contenute nella richiesta.
Richiesta HTTP
POST https://chat.googleapis.com/v1/{parent=spaces/*}/messages
L'URL utilizza la sintassi di transcodifica gRPC.
Parametri del percorso
Parametri |
parent |
string
Obbligatorio. Il nome della risorsa dello spazio in cui creare un messaggio. Formato: spaces/{space}
|
Parametri di query
Parametri |
threadKey (deprecated) |
string
Facoltativo. Deprecato: utilizza thread.thread_key . ID del thread. Supporta fino a 4000 caratteri. Per avviare o aggiungere un messaggio a un thread, crea un messaggio e specifica un threadKey o il thread.name . Per esempi di utilizzo, vedi Avvia o rispondi a un thread di messaggi.
|
requestId |
string
Facoltativo. Un ID richiesta univoco per questo messaggio. Se specifichi un ID richiesta esistente, viene restituito il messaggio creato con quell'ID anziché crearne uno nuovo.
|
messageReplyOption |
enum (MessageReplyOption )
Facoltativo. Specifica se un messaggio avvia un thread o risponde a uno. Supportato solo negli spazi con un nome. Quando rispondi alle interazioni degli utenti, questo campo viene ignorato. Per le interazioni all'interno di un thread, la risposta viene creata nello stesso thread. In caso contrario, la risposta viene creata come nuovo thread.
|
messageId |
string
Facoltativo. Un ID personalizzato per un messaggio. Consente alle app di Chat di recuperare, aggiornare o eliminare un messaggio senza dover memorizzare l'ID assegnato dal sistema nel nome della risorsa del messaggio (rappresentato nel campo name del messaggio). Il valore di questo campo deve soddisfare i seguenti requisiti:
- Inizia con
client- . Ad esempio, client-custom-name è un ID personalizzato valido, ma custom-name non lo è.
- Deve contenere fino a 63 caratteri e solo lettere minuscole, numeri e trattini.
- Deve essere univoco all'interno di uno spazio. Un'app di chat non può utilizzare lo stesso ID personalizzato per messaggi diversi.
Per maggiori dettagli, vedi Assegnare un nome a un messaggio.
|
Corpo della richiesta
Il corpo della richiesta contiene un'istanza di Message
.
Corpo della risposta
In caso di esito positivo, il corpo della risposta contiene un'istanza di Message
appena creata.
Ambiti di autorizzazione
Richiede uno dei seguenti ambiti 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
Per ulteriori informazioni, consulta la Guida all'autorizzazione.
MessageReplyOption
Specifica come rispondere a un messaggio. In futuro potrebbero essere aggiunti altri stati.
Enum |
MESSAGE_REPLY_OPTION_UNSPECIFIED |
Predefinita. Avvia un nuovo thread. Se utilizzi questa opzione, tutti i valori thread ID o threadKey inclusi vengono ignorati. |
REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD |
Crea il messaggio come risposta al thread specificato da thread ID o threadKey . In caso di errore, il messaggio avvia un nuovo thread. |
REPLY_MESSAGE_OR_FAIL |
Crea il messaggio come risposta al thread specificato da thread ID o threadKey . Se viene utilizzato un nuovo threadKey , viene creato un nuovo thread. Se la creazione del messaggio non va a buon fine, viene restituito un errore NOT_FOUND . |
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-25 UTC.
[null,null,["Ultimo aggiornamento 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. |"]]