5 分ある?簡単なアンケートに回答して、Google Chat デベロッパー向けドキュメントの改善にご協力ください。

REST Resource: spaces.messages

リソース: Message

Google Chat スペース内のメッセージ。

JSON 表現
{
  "name": string,
  "sender": {
    object (User)
  },
  "createTime": string,
  "lastUpdateTime": string,
  "deleteTime": string,
  "text": string,
  "formattedText": string,
  "cards": [
    {
      object (Card)
    }
  ],
  "cardsV2": [
    {
      object (CardWithId)
    }
  ],
  "annotations": [
    {
      object (Annotation)
    }
  ],
  "thread": {
    object (Thread)
  },
  "space": {
    object (Space)
  },
  "fallbackText": string,
  "actionResponse": {
    object (ActionResponse)
  },
  "argumentText": string,
  "slashCommand": {
    object (SlashCommand)
  },
  "attachment": [
    {
      object (Attachment)
    }
  ],
  "matchedUrl": {
    object (MatchedUrl)
  },
  "threadReply": boolean,
  "clientAssignedMessageId": string,
  "emojiReactionSummaries": [
    {
      object (EmojiReactionSummary)
    }
  ],
  "deletionMetadata": {
    object (DeletionMetadata)
  },
  "quotedMessageMetadata": {
    object (QuotedMessageMetadata)
  },
  "attachedGifs": [
    {
      object (AttachedGif)
    }
  ]
}
フィールド
name

string

リソース名。形式は spaces/*/messages/* です。

例: spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB

sender

object (User)

出力のみ。メッセージを作成したユーザー。Chat アプリがユーザーとして認証されると、そのユーザーnametype に出力が表示されます。

createTime

string (Timestamp format)

Chat で作成されたスペースの場合は、メッセージが作成された時刻。インポートされたスペースで使用されている場合を除き、このフィールドは出力専用です。

インポートされたスペースの場合、元の作成時刻を保持するために、このフィールドを、ソースでメッセージが作成された過去のタイムスタンプに設定します。

lastUpdateTime

string (Timestamp format)

出力のみ。ユーザーがメッセージを最後に編集した時刻。メッセージが編集されていない場合、このフィールドは空になります。

deleteTime

string (Timestamp format)

出力のみ。Google Chat でメッセージが削除された時刻。メッセージが削除されない場合、このフィールドは空になります。

text

string

書式なしテキストの本文。画像、動画、ウェブページへの最初のリンクで、プレビュー チップが生成されます。また、Google Chat ユーザーまたはスペース内の全ユーザーに名前リンクを付けることもできます。

テキスト メッセージの作成について詳しくは、テキスト メッセージの作成をご覧ください。

formattedText

string

出力のみ。形式を伝えるためにマークアップが追加されたメッセージ text が含まれます。このフィールドには、UI に表示されるすべての書式設定がキャプチャされるわけではありませんが、次のものが含まれます。

  • 太字、斜体、取り消し線、等幅、等幅のブロックのマークアップ構文
  • <users/{user}> の形式でユーザーが言及している
  • <{url}|{rendered_text}> 形式のカスタム ハイパーリンク。1 つ目の文字列は URL、2 つ目の文字列はレンダリングされたテキストです(例: <http://example.com|custom text>)。
  • :{emoji_name}: 形式のカスタム絵文字(例: :smile:)。これは Unicode の絵文字(ニヤニヤの絵文字の U+1F600 など)には当てはまりません。

詳しくは、メールで送信されたテキストの書式を確認するをご覧ください。

cards[]
(deprecated)

object (Card)

非推奨: 代わりに cardsV2 を使用してください。

書式設定されたテキスト、ボタン、クリック可能な画像などの UI 要素を表示するために使用できる、リッチで書式設定されたインタラクティブなカード。カードは通常、書式なしテキスト本文の下に表示されます。cardscardsV2 の最大サイズは 32 KB です。

cardsV2[]

object (CardWithId)

カードの配列。

カードを作成できるのは Chat アプリのみです。Chat アプリがユーザーとして認証されている場合は、メッセージにカードを含めることはできません。

カードとその作成方法について詳しくは、カードを使用して動的でインタラクティブで一貫性のある UI をデザインするをご覧ください。

annotations[]

object (Annotation)

出力のみ。このメッセージの text に関連付けられているアノテーション。

thread

object (Thread)

メッセージが属するスレッド。使用例については、メッセージ スレッドを開始、返信するをご覧ください。

space

object (Space)

Chat アプリがユーザーとして認証されると、スペース name に出力が表示されます。

fallbackText

string

メッセージ カードの説明(書式なしテキスト)。実際のカードを表示できない場合に使用されます(モバイル通知など)。

actionResponse

object (ActionResponse)

入力のみ。Chat アプリがレスポンスの投稿方法を構成するために使用するパラメータ。

argumentText

string

出力のみ。Chat アプリの名前リンクがすべて取り除かれた、メッセージの書式なしテキスト本文。

slashCommand

object (SlashCommand)

出力のみ。スラッシュ コマンド情報(該当する場合)。

attachment[]

object (Attachment)

ユーザーがアップロードした添付ファイル。

matchedUrl

object (MatchedUrl)

出力のみ。リンク プレビュー パターンに一致する spaces.messages.text の URL。詳しくは、プレビュー リンクをご覧ください。

threadReply

boolean

出力のみ。true の場合、メッセージは返信スレッドのレスポンスです。false の場合、メッセージは、スレッドの最初のメッセージ、またはスレッド形式の返信がないメッセージとして、スペースのトップレベルの会話に表示されます。

スペースがスレッドでの返信に対応していない場合、このフィールドは常に false になります。

clientAssignedMessageId

string

作成時に割り当てられた Chat メッセージのカスタム名。client- で始まり、63 文字以下の英小文字、数字、ハイフンのみで構成します。このフィールドを指定することで、指定された値を持つメッセージを取得、更新、または削除できます。カスタム名を割り当てると、Chat アプリは、メッセージの作成時に返されたレスポンスの本文にあるメッセージ name を保存しなくても、メッセージを呼び出すことができます。カスタム名を割り当てても、生成される name フィールド(メッセージのリソース名)は置き換えられません。代わりに、カスタム名を clientAssignedMessageId フィールドとして設定します。このフィールドは、メッセージの更新や削除などの後続のオペレーションで参照できます。使用例については、作成したメッセージに名前を付けるをご覧ください。

emojiReactionSummaries[]

object (EmojiReactionSummary)

出力のみ。メッセージの絵文字のリアクションの概要のリスト。

deletionMetadata

object (DeletionMetadata)

出力のみ。削除されたメッセージに関する情報。deleteTime が設定されている場合、メッセージは削除されます。

quotedMessageMetadata

object (QuotedMessageMetadata)

出力のみ。スペースで Google Chat ユーザーが引用したメッセージに関する情報。Google Chat では、メッセージを引用して返信できます。

attachedGifs[]

object (AttachedGif)

出力のみ。メッセージに添付されている GIF 画像。

CardWithID

Google Chat メッセージ内のカード

カードを作成できるのは Chat アプリのみです。Chat アプリがユーザーとして認証されている場合は、メッセージにカードを含めることはできません。

JSON 表現
{
  "cardId": string,
  "card": {
    object (Card)
  }
}
フィールド
cardId

string

メッセージに複数のカードが含まれている場合は必須。メッセージに含まれるカードの一意の識別子。

card

object (Card)

カード。最大サイズは 32 KB です。

Annotation

出力のみ。書式なしテキスト本文に関連付けられたアノテーション。テキスト メッセージに基本的な書式を追加するには、テキスト メッセージの書式設定をご覧ください。

書式なしテキストのメッセージ本文の例:

Hello @FooBot how are you!"

対応するアノテーションのメタデータ:

"annotations":[{
  "type":"USER_MENTION",
  "startIndex":6,
  "length":7,
  "userMention": {
    "user": {
      "name":"users/{user}",
      "displayName":"FooBot",
      "avatarUrl":"https://goo.gl/aeDtrS",
      "type":"BOT"
    },
    "type":"MENTION"
   }
}]
JSON 表現
{
  "type": enum (AnnotationType),
  "length": integer,
  "startIndex": integer,

  // Union field metadata can be only one of the following:
  "userMention": {
    object (UserMentionMetadata)
  },
  "slashCommand": {
    object (SlashCommandMetadata)
  }
  // End of list of possible types for union field metadata.
}
フィールド
type

enum (AnnotationType)

このアノテーションの型。

length

integer

このアノテーションに対応する書式なしテキストのメッセージ本文の部分文字列の長さ。

startIndex

integer

このアノテーションが対応する書式なしテキスト メッセージ本文の開始インデックス(0 から始まる)。

共用体フィールド metadata。アノテーションに関する追加のメタデータ。metadata は次のいずれかになります。
userMention

object (UserMentionMetadata)

ユーザーの名前リンクのメタデータ。

slashCommand

object (SlashCommandMetadata)

スラッシュ コマンドのメタデータ。

AnnotationType

アノテーションの型。

列挙型
ANNOTATION_TYPE_UNSPECIFIED 列挙型のデフォルト値。使用しないでください。
USER_MENTION ユーザーが言及されています。
SLASH_COMMAND スラッシュ コマンドが呼び出されます。

UserMentionMetadata

ユーザーの名前リンク(@)のアノテーション メタデータ。

JSON 表現
{
  "user": {
    object (User)
  },
  "type": enum (Type)
}
フィールド
user

object (User)

ユーザーが言及しています。

type

enum (Type)

ユーザーのメンションのタイプ。

タイプ

列挙型
TYPE_UNSPECIFIED 列挙型のデフォルト値。使用しないでください。
ADD ユーザーをスペースに追加します。
MENTION 宇宙にいるユーザーの名前リンクを付けます。

SlashCommandMetadata

スラッシュ コマンド(/)のアノテーション メタデータ。

JSON 表現
{
  "bot": {
    object (User)
  },
  "type": enum (Type),
  "commandName": string,
  "commandId": string,
  "triggersDialog": boolean
}
フィールド
bot

object (User)

コマンドが呼び出された Chat アプリ。

type

enum (Type)

スラッシュ コマンドのタイプ。

commandName

string

呼び出されたスラッシュ コマンドの名前。

commandId

string (int64 format)

呼び出されたスラッシュ コマンドのコマンド ID。

triggersDialog

boolean

スラッシュ コマンドがダイアログ用かどうかを示します。

タイプ

列挙型
TYPE_UNSPECIFIED 列挙型のデフォルト値。使用しないでください。
ADD Chat アプリをスペースに追加してください。
INVOKE スペースでスラッシュ コマンドを呼び出します。

スレッド

Google Chat スペース内のスレッド。使用例については、メッセージ スレッドを開始、返信するをご覧ください。

メッセージの作成時にスレッドを指定する場合は、messageReplyOption フィールドを設定して、一致するスレッドが見つからない場合の処理を指定できます。

JSON 表現
{
  "name": string,
  "threadKey": string
}
フィールド
name

string

出力のみ。スレッドのリソース名。

例: spaces/{space}/threads/{thread}

threadKey

string

(省略可)スレッドを作成または更新するための入力。それ以外の場合は出力のみ。スレッドの ID。4,000 文字まで使用できます。

この ID は、その ID を設定する Chat アプリに固有のものです。たとえば、複数の Chat アプリが同じスレッドキーを使用してメッセージを作成した場合、それらのメッセージは別々のスレッドに投稿されます。ユーザーまたは別の Chat アプリによって作成されたスレッド内で返信するには、代わりにスレッド name フィールドを指定します。

ActionResponse

Chat アプリがレスポンスの投稿方法を構成するために使用するパラメータ。

JSON 表現
{
  "type": enum (ResponseType),
  "url": string,
  "dialogAction": {
    object (DialogAction)
  }
}
フィールド
type

enum (ResponseType)

入力のみ。Chat アプリのレスポンスの種類。

url

string

入力のみ。ユーザーが認証または設定する URL。(レスポンス タイプ REQUEST_CONFIG の場合のみ)。

dialogAction

object (DialogAction)

入力のみ。ダイアログに関連するイベントへのレスポンス。ResponseType.Dialog とともに指定する必要があります。

ResponseType

Chat アプリのレスポンスの種類。

列挙型
TYPE_UNSPECIFIED NEW_MESSAGE として処理されるデフォルトの型。
NEW_MESSAGE トピックに新しいメッセージとして投稿します。
UPDATE_MESSAGE Chat アプリのメッセージを更新します。これは、メッセージの送信者タイプが BOT である CARD_CLICKED イベントでのみ許可されます。
UPDATE_USER_MESSAGE_CARDS ユーザーのメッセージのカードを更新します。これは、URL が一致する MESSAGE イベント、またはメッセージ送信者タイプが HUMANCARD_CLICKED イベントに対するレスポンスとしてのみ許可されます。テキストは無視されます。
REQUEST_CONFIG 非公開で、ユーザーに追加の認証または構成を依頼します。
DIALOG ダイアログを表示します。

ダイアログ アクション

ダイアログとリクエストのステータス コードが含まれます。

JSON 表現
{
  "actionStatus": {
    object (ActionStatus)
  },

  // Union field action can be only one of the following:
  "dialog": {
    object (Dialog)
  }
  // End of list of possible types for union field action.
}
フィールド
actionStatus

object (ActionStatus)

入力のみ。ダイアログの呼び出しまたは送信のリクエストのステータス。必要に応じて、ステータスとメッセージをユーザーに表示します。たとえば、エラーや成功の場合などです。

共用体フィールド action

action は次のいずれかになります。

dialog

object (Dialog)

入力のみ。リクエストのダイアログ

ダイアログ

ダイアログのカード本体を囲むラッパー。

JSON 表現
{
  "body": {
    object (Card)
  }
}
フィールド
body

object (Card)

入力のみ。モーダルでレンダリングされるダイアログの本文。Google Chat アプリは、次のカード エンティティをサポートしていません: DateTimePickerOnChangeAction

アクション ステータス

ダイアログの呼び出しまたは送信のリクエストのステータスを表します。

JSON 表現
{
  "statusCode": enum (Code),
  "userFacingMessage": string
}
フィールド
statusCode

enum (Code)

ステータス コード。

userFacingMessage

string

リクエストのステータスについてユーザーに送信するメッセージ。設定しない場合、statusCode に基づく汎用メッセージが送信されます。

コード

gRPC API の正規のエラーコード。

複数のエラーコードが該当する場合があります。サービスは、該当する最も具体的なエラーコードを返す必要があります。たとえば、両方のコードが該当する場合、FAILED_PRECONDITION より OUT_OF_RANGE を優先します。同様に、FAILED_PRECONDITION より NOT_FOUND または ALREADY_EXISTS を優先します。

列挙型
OK

エラーではありません。成功したときに返されます。

HTTP マッピング: 200 OK

CANCELLED

オペレーションがキャンセルされました。通常、キャンセルは呼び出し元により行われます。

HTTP マッピング: 499 クライアントのクローズ リクエスト

UNKNOWN

不明なエラーが発生しました。たとえば、別のアドレス空間から受信した Status 値がこのアドレス空間で不明なエラー空間に属している場合に、このエラーが返される可能性があります。また、十分なエラー情報を返さない API によって発生したエラーは、このエラーに変換できます。

HTTP マッピング: 500 内部サーバーエラー

INVALID_ARGUMENT

クライアントが無効な引数を指定しました。これは FAILED_PRECONDITION とは異なることに注意してください。INVALID_ARGUMENT は、システムの状態を問わず問題(ファイル名の形式が不適切であるなど)があった引数を示します。

HTTP マッピング: 400 不正なリクエスト

DEADLINE_EXCEEDED

オペレーションが完了する前に期限が切れました。システムの状態を変更するオペレーションの場合、オペレーションが正常に終了しても、このエラーが返されることがあります。たとえば、サーバーからの正常なレスポンスが期限切れになるほど遅延する場合もあります。

HTTP マッピング: 504 ゲートウェイ タイムアウト

NOT_FOUND

一部のリクエストされたエンティティ(ファイルやディレクトリなど)が見つかりませんでした。

サーバー デベロッパーへの注: 段階的な機能のロールアウトや文書化されていない許可リストなど、ユーザークラス全体に対してリクエストが拒否された場合は、NOT_FOUND を使用できます。ユーザーベースのアクセス制御など、あるユーザークラス内の一部のユーザーに対してリクエストが拒否された場合は、PERMISSION_DENIED を使用する必要があります。

HTTP マッピング: 404 見つかりません

ALREADY_EXISTS

クライアントが作成しようとしたエンティティ(ファイルまたはディレクトリなど)はすでに存在しています。

HTTP マッピング: 409 競合

PERMISSION_DENIED

呼び出し元には、指定されたオペレーションを実行する権限がありません。PERMISSION_DENIED は一部のリソースが枯渇し拒否されたため使用できません(このようなエラーには代わりに RESOURCE_EXHAUSTED を使用します)。呼び出し元が特定できない場合は、PERMISSION_DENIED を使用しないでください(このようなエラーには代わりに UNAUTHENTICATED を使用します)。このエラーコードは、リクエストが有効であること、リクエストされたエンティティが存在すること、および他の事前条件が満たされていることを意味するものではありません。

HTTP マッピング: 403 禁止です

UNAUTHENTICATED

リクエストにはオペレーションに有効な認証情報がありません。

HTTP マッピング: 401 権限なし

RESOURCE_EXHAUSTED

ユーザーごとの割り当て、またはファイル システム全体で容量が不足しているため、一部のリソースが枯渇しています。

HTTP マッピング: 429 リクエストが多すぎます

FAILED_PRECONDITION

システムがオペレーションの実行に必要な状態ではないため、オペレーションが拒否されました。たとえば、削除されるディレクトリが空でない、rmdir オペレーションがディレクトリ以外に適用されているなどの状態です。

サービスの実装者は、次のガイドラインを使用して、FAILED_PRECONDITIONABORTEDUNAVAILABLE のいずれかに決定できます。(a)クライアントが失敗した呼び出しのみを再試行できる場合は、UNAVAILABLE を使用します。(b)クライアントがより高いレベルで再試行する必要がある場合は、ABORTED を使用する。たとえば、クライアントが指定したテストと設定が失敗した場合は、クライアントが読み取り、変更、書き込みのシーケンスを再開する必要があることを示します。(c)システムの状態が明示的に修正されるまでクライアントが再試行すべきでない場合は、FAILED_PRECONDITION を使用します。たとえば、ディレクトリが空でないために「rmdir」が失敗した場合は、ファイルがディレクトリから削除されない限り、クライアントは再試行しないため、FAILED_PRECONDITION が返されます。

HTTP マッピング: 400 不正なリクエスト

ABORTED

オペレーションは、通常、シーケンサー チェックの失敗、またはトランザクションの中止などの同時実行の問題のために中止されています。

FAILED_PRECONDITIONABORTEDUNAVAILABLE の決定については、上記のガイドラインをご覧ください。

HTTP マッピング: 409 競合

OUT_OF_RANGE

オペレーションが有効な範囲を超えて試行されました。たとえば、ファイルの終わりを超えたシークまたは読み取りなどが該当します。

INVALID_ARGUMENT とは異なり、このエラーは、システムの状態が変化すれば修正できる可能性のある問題を示しています。たとえば、32 ビット ファイルシステムは [0,2^32-1] の範囲にないオフセットでの読み取りを要求されると、INVALID_ARGUMENT を生成しますが、現在のファイルサイズを超えるオフセットからの読み取りを要求されると、OUT_OF_RANGE を生成します。

FAILED_PRECONDITIONOUT_OF_RANGE にはかなりの重なりがあります。スペースの反復処理を行う呼び出し元が OUT_OF_RANGE エラーを簡単に探して完了を検出できるように、適用される場合は OUT_OF_RANGE(より具体的なエラー)を使用することをおすすめします。

HTTP マッピング: 400 不正なリクエスト

UNIMPLEMENTED

オペレーションが実装されていないか、このサービスでサポートまたは有効にされていません。

HTTP マッピング: 501 実装されていません

INTERNAL

内部エラー。これは、基盤となるシステムで予期される一部の不変条件が満たされていないことを意味します。このエラーコードは深刻なエラーのために予約されています。

HTTP マッピング: 500 内部サーバーエラー

UNAVAILABLE

サービスは現在使用できません。これは、バックオフで再試行することで解決できる可能性が高い一時的な状態です。非べき等オペレーションの再試行が常に安全であるとは限りません。

FAILED_PRECONDITIONABORTEDUNAVAILABLE の決定については、上記のガイドラインをご覧ください。

HTTP マッピング: 503 サービスを利用できません

DATA_LOSS

回復不能なデータの消失や破損。

HTTP マッピング: 500 内部サーバーエラー

SlashCommand

Google Chat のスラッシュ コマンド

JSON 表現
{
  "commandId": string
}
フィールド
commandId

string (int64 format)

呼び出されたスラッシュ コマンドの ID。

一致した URL

Chat メッセージ内の一致した URL。Chat アプリでは、一致した URL をプレビューできます。詳しくは、プレビュー リンクをご覧ください。

JSON 表現
{
  "url": string
}
フィールド
url

string

出力のみ。一致した URL。

EmojiReactionSummary(絵文字反応サマリー)

メッセージに特定の絵文字でリアクションしたユーザーの数。

JSON 表現
{
  "emoji": {
    object (Emoji)
  },
  "reactionCount": integer
}
フィールド
emoji

object (Emoji)

リアクションに関連付けられた絵文字。

reactionCount

integer

関連付けられた絵文字を使用したリアクションの合計数。

DeletionMetadata

削除されたメッセージに関する情報。deleteTime が設定されている場合、メッセージは削除されます。

JSON 表現
{
  "deletionType": enum (DeletionType)
}
フィールド
deletionType

enum (DeletionType)

メッセージを削除したユーザーを示します。

削除タイプ

メッセージを誰が削除したか、どのように削除されたか。

列挙型
DELETION_TYPE_UNSPECIFIED この値は使用されません。
CREATOR ユーザーが自分のメッセージを削除しました。
SPACE_OWNER スペースのオーナーがメッセージを削除した。
ADMIN Google Workspace 管理者がメッセージを削除しました。
APP_MESSAGE_EXPIRY 有効期限が切れたときに、Chat アプリが独自のメッセージを削除した。
CREATOR_VIA_APP Chat アプリがユーザーに代わってメッセージを削除した。
SPACE_OWNER_VIA_APP Chat アプリがスペースのオーナーに代わってメッセージを削除しました。

QuotedMessageMetadata

引用されたメッセージに関する情報。

JSON 表現
{
  "name": string,
  "lastUpdateTime": string
}
フィールド
name

string

出力のみ。引用されたメッセージのリソース名。

形式: spaces/{space}/messages/{message}

lastUpdateTime

string (Timestamp format)

出力のみ。引用されたメッセージが作成された時点、または引用されたメッセージが最後に更新された時点のタイムスタンプ。

添付された GIF

URL で指定された GIF 画像。

JSON 表現
{
  "uri": string
}
フィールド
uri

string

出力のみ。GIF 画像をホストする URL。

Methods

create

Google Chat スペースでメッセージを作成します。

delete

メッセージを削除します。

get

メッセージに関する詳細を返します。

list

ブロック中のメンバーやスペースからのメッセージを含め、発信者がメンバーとなっているスペースのメッセージを一覧表示します。

patch

メッセージを更新します。

update

メッセージを更新します。