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 برنامه چت را به عنوان فرستنده پیام نمایش می دهد. محتوای پیام میتواند شامل متن ( text
)، کارتها ( cardsV2
) و ابزارکهای جانبی (ویدجتهای accessoryWidgets
) باشد.

تصویر زیر نشان میدهد که چگونه Chat هنگام استفاده از احراز هویت کاربر، یک پیام را مشخص میکند. Chat کاربر را به عنوان فرستنده پیام نمایش می دهد و برنامه Chat را با نمایش نام پیام به آن نسبت می دهد. محتوای پیام فقط می تواند حاوی متن ( text
) باشد.

حداکثر اندازه پیام، با احتساب محتوای پیام، 32000 بایت است.
برای درخواست های وب هوک ، پاسخ حاوی پیام کامل نیست. پاسخ فقط فیلدهای name
و thread.name
را علاوه بر اطلاعاتی که در درخواست بود پر می کند.
درخواست HTTP
POST https://chat.googleapis.com/v1/{parent=spaces/*}/messages
URL از دستور GRPC Transcoding استفاده می کند.
پارامترهای مسیر
پارامترها |
---|
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
برای اطلاعات بیشتر، به راهنمای مجوز مراجعه کنید.
MessageReplyOption
نحوه پاسخ دادن به یک پیام را مشخص می کند. ممکن است در آینده ایالت های بیشتری اضافه شود.
Enums |
---|
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 Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-07-25 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-07-25 بهوقت ساعت هماهنگ جهانی."],[[["\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. |"]]