Method: spaces.messages.create
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Membuat pesan di ruang Google Chat. Untuk contoh, lihat Mengirim pesan.
Mendukung jenis autentikasi berikut:
- Autentikasi aplikasi dengan cakupan otorisasi:
https://www.googleapis.com/auth/chat.bot
- Autentikasi pengguna dengan salah satu cakupan otorisasi berikut:
https://www.googleapis.com/auth/chat.messages.create
https://www.googleapis.com/auth/chat.messages
https://www.googleapis.com/auth/chat.import
(khusus ruang mode impor)
Chat mengatribusikan pengirim pesan secara berbeda, bergantung pada jenis autentikasi yang Anda gunakan dalam permintaan.
Gambar berikut menunjukkan cara Chat mengatribusikan pesan saat Anda menggunakan autentikasi aplikasi. Chat menampilkan aplikasi Chat sebagai pengirim pesan. Konten pesan dapat berisi teks (text
), kartu (cardsV2
), dan widget aksesori (accessoryWidgets
).

Gambar berikut menunjukkan cara Chat mengatribusikan pesan saat Anda menggunakan autentikasi pengguna. Chat menampilkan pengguna sebagai pengirim pesan dan mengatribusikan aplikasi Chat ke pesan dengan menampilkan namanya. Konten pesan hanya boleh berisi teks (text
).

Ukuran pesan maksimum, termasuk konten pesan, adalah 32.000 byte.
Untuk permintaan webhook, respons tidak berisi pesan lengkap. Respons hanya mengisi kolom name
dan thread.name
selain informasi yang ada dalam permintaan.
Permintaan HTTP
POST https://chat.googleapis.com/v1/{parent=spaces/*}/messages
URL menggunakan sintaksis gRPC Transcoding.
Parameter jalur
Parameter |
parent |
string
Wajib. Nama resource ruang tempat membuat pesan. Format: spaces/{space}
|
Parameter kueri
Parameter |
threadKey (deprecated) |
string
Opsional. Tidak digunakan lagi: Gunakan thread.thread_key sebagai gantinya. ID untuk rangkaian pesan. Mendukung hingga 4.000 karakter. Untuk memulai atau menambahkan ke rangkaian pesan, buat pesan dan tentukan threadKey atau thread.name . Untuk contoh penggunaan, lihat Memulai atau membalas rangkaian pesan.
|
requestId |
string
Opsional. ID permintaan unik untuk pesan ini. Menentukan ID permintaan yang ada akan menampilkan pesan yang dibuat dengan ID tersebut, bukan membuat pesan baru.
|
messageReplyOption |
enum (MessageReplyOption )
Opsional. Menentukan apakah pesan memulai rangkaian pesan atau membalas rangkaian pesan. Hanya didukung di ruang yang diberi nama. Saat merespons interaksi pengguna, kolom ini akan diabaikan. Untuk interaksi dalam rangkaian pesan, balasan dibuat dalam rangkaian pesan yang sama. Jika tidak, balasan akan dibuat sebagai rangkaian pesan baru.
|
messageId |
string
Opsional. ID kustom untuk pesan. Memungkinkan aplikasi Chat mendapatkan, memperbarui, atau menghapus pesan tanpa perlu menyimpan ID yang ditetapkan sistem di nama resource pesan (ditampilkan di kolom name pesan). Nilai untuk kolom ini harus memenuhi persyaratan berikut:
- Dimulai dengan
client- . Misalnya, client-custom-name adalah ID kustom yang valid, tetapi custom-name tidak.
- Berisi maksimal 63 karakter dan hanya huruf kecil, angka, dan tanda hubung.
- Unik dalam ruang. Aplikasi Chat tidak dapat menggunakan ID kustom yang sama untuk pesan yang berbeda.
Untuk mengetahui detailnya, lihat Memberi nama pesan.
|
Isi permintaan
Isi permintaan memuat instance Message
.
Isi respons
Jika berhasil, isi respons memuat instance Message
yang baru dibuat.
Cakupan otorisasi
Memerlukan salah satu cakupan OAuth berikut:
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
Untuk mengetahui informasi selengkapnya, lihat Panduan otorisasi.
MessageReplyOption
Menentukan cara membalas pesan. Negara bagian lainnya mungkin ditambahkan di masa mendatang.
Enum |
MESSAGE_REPLY_OPTION_UNSPECIFIED |
Default. Memulai rangkaian pesan baru. Penggunaan opsi ini akan mengabaikan thread ID atau threadKey yang disertakan. |
REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD |
Membuat pesan sebagai balasan ke rangkaian pesan yang ditentukan oleh thread ID atau threadKey . Jika gagal, pesan akan memulai rangkaian pesan baru. |
REPLY_MESSAGE_OR_FAIL |
Membuat pesan sebagai balasan ke rangkaian pesan yang ditentukan oleh thread ID atau threadKey . Jika threadKey baru digunakan, thread baru akan dibuat. Jika pembuatan pesan gagal, error NOT_FOUND akan ditampilkan. |
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-25 UTC.
[null,null,["Terakhir diperbarui pada 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. |"]]