Method: spaces.messages.create
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
لإنشاء رسالة في مساحة Google Chat للاطّلاع على مثال، يُرجى الاطّلاع على إرسال رسالة.
تتوافق مع أنواع المصادقة التالية:
- مصادقة التطبيق باستخدام نطاق التفويض:
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 بدلاً منها. رقم تعريف سلسلة المحادثات يمكن إدخال ما يصل إلى 4,000 حرف. لبدء سلسلة محادثات أو إضافة رسالة إليها، أنشئ رسالة وحدِّد threadKey أو thread.name . للاطّلاع على أمثلة على الاستخدام، يُرجى الاطّلاع على بدء سلسلة محادثات أو الردّ عليها.
|
requestId |
string
اختياريّ. معرّف طلب فريد لهذه الرسالة يؤدي تحديد رقم تعريف طلب حالي إلى عرض الرسالة التي تم إنشاؤها باستخدام هذا الرقم بدلاً من إنشاء رسالة جديدة.
|
messageReplyOption |
enum (MessageReplyOption )
اختياريّ. تُحدِّد ما إذا كانت الرسالة تبدأ سلسلة محادثات أو تردّ على سلسلة محادثات. لا تتوفّر هذه الميزة إلا في المساحات المُسمّاة. عند الردّ على تفاعلات المستخدمين، يتم تجاهل هذا الحقل. بالنسبة إلى التفاعلات ضمن سلسلة محادثات، يتم إنشاء الردّ في سلسلة المحادثات نفسها. بخلاف ذلك، يتم إنشاء الردّ كسلسلة محادثات جديدة.
|
messageId |
string
اختياريّ. معرّف مخصّص لرسالة. يمكن لتطبيقات Lets Chat الحصول على رسالة أو تعديلها أو حذفها بدون الحاجة إلى تخزين رقم التعريف الذي يحدّده النظام في اسم مورد الرسالة (الممثّل في حقل name للرسالة). يجب أن تستوفي قيمة هذا الحقل المتطلبات التالية:
- يبدأ بـ
client- . على سبيل المثال، client-custom-name هو معرّف مخصّص صالح، ولكن custom-name ليس كذلك.
- يحتوي على ما يصل إلى 63 حرفًا وأحرفًا لاتينية صغيرة وأرقامًا وواصلات فقط.
- أن تكون فريدة من نوعها في مساحة معيّنة لا يمكن لتطبيق Chat استخدام المعرّف المخصّص نفسه لرسائل مختلفة.
لمعرفة التفاصيل، يُرجى الاطّلاع على تسمية رسالة.
|
نص الطلب
يحتوي نص الطلب على مثال 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
تُحدِّد كيفية الردّ على رسالة. قد تتم إضافة المزيد من الولايات في المستقبل.
عمليات التعداد |
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 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة 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. |"]]