- Resource: Message
- Card
- CardHeader
- ImageStyle
- Section
- WidgetMarkup
- TextParagraph
- Image
- OnClick
- FormAction
- ActionParameter
- OpenLink
- KeyValue
- Icon
- Button
- TextButton
- ImageButton
- CardAction
- Annotation
- AnnotationType
- UserMentionMetadata
- Type
- SlashCommandMetadata
- Type
- Thread
- ActionResponse
- ResponseType
- DialogAction
- Dialog
- Card
- CardHeader
- ImageType
- Section
- Widget
- TextParagraph
- Image
- OnClick
- Action
- ActionParameter
- LoadIndicator
- OpenLink
- OpenAs
- OnClose
- AppUri
- Intent
- ExtraData
- DecoratedText
- Icon
- Button
- Color
- SwitchControl
- ControlType
- ButtonList
- TextInput
- Type
- Suggestions
- SuggestionItem
- SelectionInput
- SelectionType
- SelectionItem
- DateTimePicker
- DateTimePickerType
- Divider
- Grid
- GridItem
- ImageComponent
- ImageCropStyle
- ImageCropType
- BorderStyle
- BorderType
- HorizontalAlignment
- GridItemLayout
- CardAction
- CardFixedFooter
- DisplayStyle
- ActionStatus
- Code
- SlashCommand
- MatchedUrl
- Methods
Resource: Message
A message in Google Chat.
JSON representation |
---|
{ "name": string, "sender": { object ( |
Fields | |
---|---|
name |
Resource name in the form Example: |
sender |
Output only. The user who created the message. |
createTime |
Output only. The time at which the message was created in Google Chat server. |
lastUpdateTime |
Output only. The time at which the message was last updated. If the message was never updated, this field matches |
text |
Plain-text body of the message. The first link to an image, video, web page, or other preview-able item generates a preview chip. |
cards[] |
Rich, formatted and interactive cards that can be used to display UI elements such as: formatted texts, buttons, clickable images. Cards are normally displayed below the plain-text body of the message. |
annotations[] |
Output only. Annotations associated with the text in this message. |
thread |
The thread the message belongs to. |
space |
The space the message belongs to. |
fallbackText |
A plain-text description of the message's cards, used when the actual cards cannot be displayed (e.g. mobile notifications). |
actionResponse |
Input only. Parameters that a Chat app can use to configure how its response is posted. |
argumentText |
Plain-text body of the message with all Chat app mentions stripped out. |
slashCommand |
Output only. Slash command information, if applicable. |
attachment[] |
User uploaded attachment. |
matchedUrl |
Output only. A URL in |
Annotation
Annotations associated with the plain-text body of the message.
Example plain-text message body:
Hello @FooBot how are you!"
The corresponding annotations metadata:
"annotations":[{
"type":"USER_MENTION",
"startIndex":6,
"length":7,
"userMention": {
"user": {
"name":"users/107946847022116401880",
"displayName":"FooBot",
"avatarUrl":"https://goo.gl/aeDtrS",
"type":"BOT"
},
"type":"MENTION"
}
}]
JSON representation |
---|
{ "type": enum ( |
Fields | |
---|---|
type |
The type of this annotation. |
startIndex |
Start index (0-based, inclusive) in the plain-text message body this annotation corresponds to. |
length |
Length of the substring in the plain-text message body this annotation corresponds to. |
Union field metadata . Additional metadata about the annotation. metadata can be only one of the following: |
|
userMention |
The metadata of user mention. |
slashCommand |
The metadata for a slash command. |
AnnotationType
Type of the annotation.
Enums | |
---|---|
ANNOTATION_TYPE_UNSPECIFIED |
Default value for the enum. DO NOT USE. |
USER_MENTION |
A user is mentioned. |
SLASH_COMMAND |
A slash command is invoked. |
UserMentionMetadata
Annotation metadata for user mentions (@).
JSON representation |
---|
{ "user": { object ( |
Fields | |
---|---|
user |
The user mentioned. |
type |
The type of user mention. |
Type
Enums | |
---|---|
TYPE_UNSPECIFIED |
Default value for the enum. DO NOT USE. |
ADD |
Add user to space. |
MENTION |
Mention user in space. |
SlashCommandMetadata
Annotation metadata for slash commands (/).
JSON representation |
---|
{ "bot": { object ( |
Fields | |
---|---|
bot |
The Chat app whose command was invoked. |
type |
The type of slash command. |
commandName |
The name of the invoked slash command. |
commandId |
The command id of the invoked slash command. |
triggersDialog |
Indicating whether the slash command is for a dialog. |
Type
Enums | |
---|---|
TYPE_UNSPECIFIED |
Default value for the enum. DO NOT USE. |
ADD |
Add Chat app to space. |
INVOKE |
Invoke slash command in space. |
Thread
A thread in Google Chat.
JSON representation |
---|
{ "name": string } |
Fields | |
---|---|
name |
Resource name, in the form "spaces/*/threads/*". Example: spaces/AAAAAAAAAAA/threads/TTTTTTTTTTT |
ActionResponse
Parameters that a Chat app can use to configure how it's response is posted.
JSON representation |
---|
{ "type": enum ( |
Fields | |
---|---|
type |
Input only. The type of Chat app response. |
url |
Input only. URL for users to auth or config. (Only for REQUEST_CONFIG response types.) |
dialogAction |
Input only. A response to an event related to a dialog. Must be accompanied by |
ResponseType
The type of Chat app response.
Enums | |
---|---|
TYPE_UNSPECIFIED |
Default type; will be handled as NEW_MESSAGE. |
NEW_MESSAGE |
Post as a new message in the topic. |
UPDATE_MESSAGE |
Update the Chat app's message. This is only permitted on a CARD_CLICKED event where the message sender type is BOT. |
UPDATE_USER_MESSAGE_CARDS |
Update the cards on a user's message. This is only permitted as a response to a MESSAGE event with a matched url, or a CARD_CLICKED event where the message sender type is HUMAN. Text will be ignored. |
REQUEST_CONFIG |
Privately ask the user for additional auth or config. |
DIALOG |
Presents a dialog. |
DialogAction
Contains a dialog and request status code.
JSON representation |
---|
{ "actionStatus": { object ( |
Fields | |
---|---|
actionStatus |
Input only. Status for a request to either invoke or submit a dialog. Displays a status and message to users, if necessary. For example, in case of an error or success. |
dialog |
Input only. Dialog for the request. |
Dialog
Wrapper around the card body of the dialog.
JSON representation |
---|
{
"body": {
object ( |
Fields | |
---|---|
body |
Input only. Body of the dialog, which is rendered in a modal. Google Chat apps do not support the following card entities: |
ActionStatus
Represents the status for a request to either invoke or submit a dialog.
JSON representation |
---|
{
"statusCode": enum ( |
Fields | |
---|---|
statusCode |
The status code. |
userFacingMessage |
The message to send users about the status of their request. If unset, a generic message based on the |
Code
The canonical error codes for gRPC APIs.
Sometimes multiple error codes may apply. Services should return the most specific error code that applies. For example, prefer OUT_OF_RANGE
over FAILED_PRECONDITION
if both codes apply. Similarly prefer NOT_FOUND
or ALREADY_EXISTS
over FAILED_PRECONDITION
.
Enums | |
---|---|
OK |
Not an error; returned on success HTTP Mapping: 200 OK |
CANCELLED |
The operation was cancelled, typically by the caller. HTTP Mapping: 499 Client Closed Request |
UNKNOWN |
Unknown error. For example, this error may be returned when a HTTP Mapping: 500 Internal Server Error |
INVALID_ARGUMENT |
The client specified an invalid argument. Note that this differs from HTTP Mapping: 400 Bad Request |
DEADLINE_EXCEEDED |
The deadline expired before the operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. HTTP Mapping: 504 Gateway Timeout |
NOT_FOUND |
Some requested entity (e.g., file or directory) was not found. Note to server developers: if a request is denied for an entire class of users, such as gradual feature rollout or undocumented allowlist, HTTP Mapping: 404 Not Found |
ALREADY_EXISTS |
The entity that a client attempted to create (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict |
PERMISSION_DENIED |
The caller does not have permission to execute the specified operation. HTTP Mapping: 403 Forbidden |
UNAUTHENTICATED |
The request does not have valid authentication credentials for the operation. HTTP Mapping: 401 Unauthorized |
RESOURCE_EXHAUSTED |
Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. HTTP Mapping: 429 Too Many Requests |
FAILED_PRECONDITION |
The operation was rejected because the system is not in a state required for the operation's execution. For example, the directory to be deleted is non-empty, an rmdir operation is applied to a non-directory, etc. Service implementors can use the following guidelines to decide between HTTP Mapping: 400 Bad Request |
ABORTED |
The operation was aborted, typically due to a concurrency issue such as a sequencer check failure or transaction abort. See the guidelines above for deciding between HTTP Mapping: 409 Conflict |
OUT_OF_RANGE |
The operation was attempted past the valid range. E.g., seeking or reading past end-of-file. Unlike There is a fair bit of overlap between HTTP Mapping: 400 Bad Request |
UNIMPLEMENTED |
The operation is not implemented or is not supported/enabled in this service. HTTP Mapping: 501 Not Implemented |
INTERNAL |
Internal errors. This means that some invariants expected by the underlying system have been broken. This error code is reserved for serious errors. HTTP Mapping: 500 Internal Server Error |
UNAVAILABLE |
The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations. See the guidelines above for deciding between HTTP Mapping: 503 Service Unavailable |
DATA_LOSS |
Unrecoverable data loss or corruption. HTTP Mapping: 500 Internal Server Error |
SlashCommand
A slash command in Google Chat.
JSON representation |
---|
{ "commandId": string } |
Fields | |
---|---|
commandId |
The id of the slash command invoked. |
MatchedUrl
A matched url in a Chat message. Chat apps can preview matched URLs. For more information, refer to Preview links.
JSON representation |
---|
{ "url": string } |
Fields | |
---|---|
url |
Output only. The url that was matched. |
Methods |
|
---|---|
|
Creates a message. |
|
Deletes a message. |
|
Returns a message. |
|
Updates a message. |