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 アプリの名前が表示されることで、メッセージに Chat アプリが関連付けられます。メッセージの内容にはテキスト(text
)のみを含めることができます。

メッセージの内容を含むメッセージの最大サイズは 32,000 バイトです。
Webhook リクエストの場合、レスポンスにはメッセージ全体が含まれません。レスポンスには、リクエストに含まれていた情報に加えて、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 を使用してください。スレッドの ID。最大 4,000 文字までサポートされます。スレッドを開始または追加するには、メッセージを作成して threadKey または thread.name を指定します。使用例については、メッセージ スレッドを開始または返信するをご覧ください。
|
requestId |
string
省略可。このメッセージの一意のリクエスト ID。既存のリクエスト ID を指定すると、新しいメッセージが作成されるのではなく、その ID で作成されたメッセージが返されます。
|
messageReplyOption |
enum (MessageReplyOption )
省略可。メッセージがスレッドを開始するか、スレッドに返信するかを指定します。名前付きスペースでのみサポートされます。 ユーザー操作に応答する場合、このフィールドは無視されます。スレッド内のやり取りの場合、返信は同じスレッド内に作成されます。それ以外の場合は、返信が新しいスレッドとして作成されます。
|
messageId |
string
省略可。メッセージのカスタム ID。システムが割り当てた ID をメッセージのリソース名(メッセージの name フィールドに表示)に保存しなくても、Chat アプリがメッセージを取得、更新、削除できるようにします。 このフィールドの値は、次の要件を満たす必要があります。
client- で始まります。たとえば、client-custom-name は有効なカスタム ID ですが、custom-name は違います。
- 63 文字以下で、小文字、数字、ハイフンのみを使用できます。
- スペース内で一意です。チャットアプリでは、異なるメッセージに同じカスタム ID を使用できません。
詳しくは、メッセージに名前を付けるをご覧ください。
|
リクエストの本文
リクエストの本文には 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 エラーが返されます。 |
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-07-25 UTC。
[null,null,["最終更新日 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. |"]]