REST Resource: spaces.messages

Источник: Сообщение

Сообщение в чате Google.

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)
    }
  ],
  "privateMessageViewer": {
    object (User)
  },
  "deletionMetadata": {
    object (DeletionMetadata)
  },
  "quotedMessageMetadata": {
    object (QuotedMessageMetadata)
  },
  "attachedGifs": [
    {
      object (AttachedGif)
    }
  ],
  "accessoryWidgets": [
    {
      object (AccessoryWidget)
    }
  ]
}
Поля
name

string

Идентификатор. Имя ресурса сообщения.

Формат: spaces/{space}/messages/{message}

Где {space} — это идентификатор пространства, куда отправлено сообщение, а {message} — это системный идентификатор сообщения. Например, spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB .

Если вы зададите пользовательский идентификатор при создании сообщения, вы сможете использовать этот идентификатор для указания сообщения в запросе, заменив {message} значением из поля clientAssignedMessageId . Например, spaces/AAAAAAAAAAA/messages/client-custom-name . Подробнее см. раздел «Назвать сообщение» .

sender

object ( User )

Только вывод. Пользователь, создавший сообщение. Если ваше приложение чата аутентифицируется как пользователь , в выводе отображаются name пользователя и type .

createTime

string ( Timestamp format)

Необязательно. Неизменяемо. Для пространств, созданных в чате, указывается время создания сообщения. Это поле предназначено только для вывода, за исключением случаев использования в пространствах в режиме импорта.

Для пространств в режиме импорта установите в этом поле историческую метку времени, в которую сообщение было создано в источнике, чтобы сохранить исходное время создания.

lastUpdateTime

string ( Timestamp format)

Только для вывода. Время последнего редактирования сообщения пользователем. Если сообщение никогда не редактировалось, это поле пустое.

deleteTime

string ( Timestamp format)

Только вывод. Время удаления сообщения в Google Chat. Если сообщение никогда не удалялось, это поле пустое.

text

string

Необязательно. Текст сообщения в обычном формате. Первая ссылка на изображение, видео или веб-страницу генерирует фрагмент предварительного просмотра . Вы также можете упомянуть пользователя Google Chat с помощью символа @ или всех участников сообщества.

Чтобы узнать о создании текстовых сообщений, см. раздел «Отправить сообщение» .

formattedText

string

Только для вывода. Содержит text сообщения с добавленными разметками для отображения форматирования. Это поле может не содержать всего форматирования, видимого в пользовательском интерфейсе, но включает следующее:

  • Синтаксис разметки для жирного, курсивного, зачеркнутого, моноширинного, моноширинного блочного и маркированного списков.

  • Пользователь упоминает использование формата <users/{user}> .

  • Пользовательские гиперссылки, использующие формат <{url}|{rendered_text}> где первая строка — это URL-адрес, а вторая — отображаемый текст, например, <http://example.com|custom text> .

  • Пользовательские эмодзи, использующие формат :{emojiName}: — например, :smile: . Это не относится к эмодзи Unicode, таким как U+1F600 для смайлика с улыбкой.

  • Для маркировки элементов используйте звездочки ( * ) — например, * item .

Для получения дополнительной информации см. раздел «Просмотр форматирования текста, отправленного в сообщении».

cards[]
(deprecated)

object ( Card )

Устарело: используйте cardsV2 вместо него.

Интерактивные, форматированные и удобные для отображения элементы пользовательского интерфейса, такие как форматированный текст, кнопки и кликабельные изображения. Карточки обычно отображаются под текстовым содержимым сообщения. Размер cards и cardsV2 не должен превышать 32 КБ.

cardsV2[]

object ( CardWithId )

Необязательно. Массив карт .

Карточки могут создавать только приложения для чата. Если ваше приложение для чата авторизуется как пользователь , сообщения не могут содержать карточки.

Чтобы узнать, как создать сообщение, содержащее карточки, см. раздел «Отправить сообщение» .

Создавайте и просматривайте карточки с помощью конструктора карточек.

Откройте конструктор карточек.

annotations[]

object ( Annotation )

Только для вывода. Аннотации могут быть связаны с текстовым телом сообщения или с фрагментами, которые ссылаются на ресурсы Google Workspace, такие как Google Docs или Google Sheets, с startIndex и length 0.

thread

object ( Thread )

Тема обсуждения, к которой относится сообщение. Примеры использования см. в разделе «Начать или ответить на сообщение в теме обсуждения» .

space

object ( Space )

Только вывод. Если ваше приложение чата аутентифицируется как пользователь , в выводе будет отображаться только name пространства .

fallbackText

string

Необязательно. Текстовое описание карточек сообщения, используемое, когда сами карточки не могут быть отображены — например, для уведомлений на мобильных устройствах.

actionResponse

object ( ActionResponse )

Только для ввода. Параметры, которые приложение чата может использовать для настройки способа отправки ответа.

argumentText

string

Только вывод. Текст сообщения в обычном формате, без упоминания каких-либо приложений для чата.

slashCommand

object ( SlashCommand )

Только вывод. Информация о команде слэша, если применимо.

attachment[]

object ( Attachment )

Необязательно. Вложение, загруженное пользователем.

matchedUrl

object ( MatchedUrl )

Только для вывода. URL-адрес в spaces.messages.text , соответствующий шаблону предварительного просмотра ссылки. Для получения дополнительной информации см. раздел «Предварительный просмотр ссылок» .

threadReply

boolean

Только для вывода. Если true , сообщение является ответом в ветке ответов. Если false , сообщение отображается в основной беседе пространства либо как первое сообщение ветки, либо как сообщение без ответов в ветке.

Если пространство не поддерживает ответы в ветках обсуждений, это поле всегда будет false .

clientAssignedMessageId

string

Необязательно. Пользовательский идентификатор для сообщения. Вы можете использовать это поле для идентификации сообщения, а также для получения, удаления или обновления сообщения. Чтобы задать пользовательский идентификатор, укажите поле messageId при создании сообщения. Подробнее см. раздел «Присвоение имени сообщению» .

emojiReactionSummaries[]

object ( EmojiReactionSummary )

Только вывод. Список кратких описаний реакций в виде эмодзи к сообщению.

privateMessageViewer

object ( User )

Необязательно. Неизменяемое. Поле для создания сообщения, в противном случае только для вывода. Пользователь, который может просмотреть сообщение. Если задано, сообщение является приватным и видно только указанному пользователю и приложению «Чат». Чтобы включить это поле в ваш запрос, необходимо вызвать API чата с использованием аутентификации приложения и опустить следующее:

Подробности см. в разделе «Отправить личное сообщение» .

deletionMetadata

object ( DeletionMetadata )

Только вывод. Информация об удалённом сообщении. Сообщение удаляется, когда задано значение deleteTime .

quotedMessageMetadata

object ( QuotedMessageMetadata )

Необязательно. Информация о сообщении, которое цитируется в другом сообщении.

При создании сообщения вы можете цитировать сообщения в рамках той же ветки обсуждения или цитировать основное сообщение, чтобы создать новое основное сообщение. Однако вы не можете цитировать ответ на сообщение из другой ветки обсуждения.

При обновлении сообщения вы не можете добавить или заменить поле quotedMessageMetadata , но можете его удалить.

Примеры использования см. в разделе «Цитировать другое сообщение» .

attachedGifs[]

object ( AttachedGif )

Только для вывода. GIF-изображения, прикрепленные к сообщению.

accessoryWidgets[]

object ( AccessoryWidget )

Необязательно. Один или несколько интерактивных виджетов, которые отображаются внизу сообщения. Вы можете добавлять дополнительные виджеты к сообщениям, содержащим текст, карточки или и текст, и карточки. Не поддерживается для сообщений, содержащих диалоги. Подробнее см. раздел «Добавление интерактивных виджетов внизу сообщения» .

Для создания сообщения с дополнительными виджетами требуется аутентификация приложения .

CardWithId

Карточка в сообщении Google Chat.

Карточки могут создавать только приложения для чата. Если ваше приложение для чата авторизуется как пользователь , сообщение не может содержать карточки.

Создавайте и просматривайте карточки с помощью конструктора карточек.

Откройте конструктор карточек.

JSON-представление
{
  "cardId": string,
  "card": {
    object (Card)
  }
}
Поля
cardId

string

Обязательно, если сообщение содержит несколько карточек. Уникальный идентификатор для карточки в сообщении.

card

object ( Card )

Карта памяти. Максимальный размер — 32 КБ.

Аннотация

Только для вывода. Аннотации могут быть связаны с текстовым телом сообщения или с фрагментами, которые ссылаются на ресурсы Google Workspace, такие как Google Docs или Google Sheets, с startIndex и length 0. Чтобы добавить базовое форматирование к текстовому сообщению, см. раздел «Форматирование текстовых сообщений» .

Пример текста сообщения в открытом виде:

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)
  },
  "richLinkMetadata": {
    object (RichLinkMetadata)
  },
  "customEmojiMetadata": {
    object (CustomEmojiMetadata)
  }
  // End of list of possible types for union field metadata.
}
Поля
type

enum ( AnnotationType )

Тип данной аннотации.

length

integer

Длина подстроки в текстовом теле сообщения, которой соответствует эта аннотация. Если отсутствует, указывается длина 0.

startIndex

integer

Эта аннотация соответствует начальному индексу (начиная с 0 включительно) в текстовом теле сообщения.

metadata поля объединения. Дополнительные метаданные об аннотации. metadata могут быть только одним из следующих типов:
userMention

object ( UserMentionMetadata )

Метаданные упоминания пользователя.

slashCommand

object ( SlashCommandMetadata )

Метаданные для команды с косой чертой.

customEmojiMetadata

object ( CustomEmojiMetadata )

Метаданные для пользовательского эмодзи.

AnnotationType

Тип аннотации.

Перечисления
ANNOTATION_TYPE_UNSPECIFIED Значение по умолчанию для перечисления. Не использовать.
USER_MENTION Упоминается пользователь.
SLASH_COMMAND Выполняется команда с косой чертой.
CUSTOM_EMOJI Пользовательская аннотация в виде эмодзи.

Метаданные пользователя

Метаданные аннотаций для упоминаний пользователей (@).

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 )

Приложение чата, команда которого была вызвана.

type

enum ( Type )

Тип команды слэша.

commandName

string

Название вызываемой команды с косой чертой.

commandId

string ( int64 format)

Идентификатор команды, которая была вызвана.

triggersDialog

boolean

Указывает, предназначена ли команда слэша для диалогового окна.

Тип

Перечисления
TYPE_UNSPECIFIED Значение по умолчанию для перечисления. Не использовать.
ADD Добавьте приложение «Чат» в пространство.
INVOKE Введите команду слэша в пробеле.

RichLinkMetadata

Расширенная ссылка на ресурс. Расширенные ссылки могут быть связаны с текстовым телом сообщения или представлять собой фрагменты, которые ссылаются на ресурсы Google Workspace, такие как Google Docs или Google Sheets, с startIndex и length 0.

JSON-представление
{
  "uri": string,
  "richLinkType": enum (RichLinkType),

  // Union field data can be only one of the following:
  "driveLinkData": {
    object (DriveLinkData)
  },
  "chatSpaceLinkData": {
    object (ChatSpaceLinkData)
  },
  "meetSpaceLinkData": {
    object (MeetSpaceLinkData)
  },
  "calendarEventLinkData": {
    object (CalendarEventLinkData)
  }
  // End of list of possible types for union field data.
}
Поля
uri

string

URI этой ссылки.

data поля объединения. Данные для связанного ресурса. data могут быть только одним из следующих типов:

RichLinkType

Тип ссылок «расширенные ссылки». В будущем могут быть добавлены и другие типы.

Перечисления
DRIVE_FILE Тип ссылки, расширяющий возможности Google Drive.
CHAT_SPACE Тип ссылки, расширяющий возможности чата. Например, интеллектуальный чип в пространстве.
GMAIL_MESSAGE Тип ссылки, отображаемой в сообщениях Gmail. В частности, это фрагмент кода Gmail из функции «Поделиться в чат» . API поддерживает чтение только сообщений со ссылками типа GMAIL_MESSAGE.
MEET_SPACE Тип ссылки, используемый в сообщениях Meet. Например, значок Meet.
CALENDAR_EVENT Тип ссылки, используемый в календарных сообщениях. Например, «Краткий элемент календаря».

DriveLinkData

Данные для ссылок Google Диска.

JSON-представление
{
  "driveDataRef": {
    object (DriveDataRef)
  },
  "mimeType": string
}
Поля
driveDataRef

object ( DriveDataRef )

Объект DriveDataRef , который ссылается на файл в Google Диске.

mimeType

string

MIME-тип связанного ресурса Google Drive.

ChatSpaceLinkData

Данные для ссылок в чате.

JSON-представление
{
  "space": string,
  "thread": string,
  "message": string
}
Поля
space

string

Пространство связанного ресурса чата.

Формат: spaces/{space}

thread

string

Обсуждение в связанном чате.

Формат: spaces/{space}/threads/{thread}

message

string

Сообщение, содержащееся в связанном ресурсе чата.

Формат: spaces/{space}/messages/{message}

MeetSpaceLinkData

Данные для ссылок на пространство Meet.

JSON-представление
{
  "meetingCode": string,
  "type": enum (Type),
  "huddleStatus": enum (HuddleStatus)
}
Поля
meetingCode

string

Код встречи связанного пространства Meet.

type

enum ( Type )

Указывает тип пространства для встреч.

huddleStatus

enum ( HuddleStatus )

Необязательный параметр. Только для вывода. Если встреча является групповой, указывает статус групповой встречи. В противном случае этот параметр не задан.

Тип

Тип помещения для встреч.

Перечисления
TYPE_UNSPECIFIED Значение по умолчанию для перечисления. Не использовать.
MEETING Пространство Meet предназначено для проведения встреч.
HUDDLE Пространство для встреч — это место, где можно собраться вместе.

Статус обсуждения

Состояние совещания

Перечисления
HUDDLE_STATUS_UNSPECIFIED Значение по умолчанию для перечисления. Не использовать.
STARTED Совещание началось.
ENDED Встреча завершена. В этом случае URI и идентификаторы пространства Meet больше не будут действительны.
MISSED Встреча была пропущена. В этом случае URI и идентификаторы пространства Meet больше не будут действительны.

CalendarEventLinkData

Данные для ссылок на события календаря.

JSON-представление
{
  "calendarId": string,
  "eventId": string
}
Поля
calendarId

string

Идентификатор календаря , к которому ведет ссылка.

eventId

string

Идентификатор события связанного события календаря.

CustomEmojiMetadata

Метаданные аннотаций для пользовательских эмодзи.

JSON-представление
{
  "customEmoji": {
    object (CustomEmoji)
  }
}
Поля
customEmoji

object ( CustomEmoji )

Пользовательские эмодзи.

Нить

Ветка обсуждений в чате Google. Пример использования см. в разделе «Начать или ответить на ветку сообщений» .

Если при создании сообщения вы указываете ветку обсуждения, вы можете задать в поле messageReplyOption , определяющие, что произойдет, если соответствующая ветка не будет найдена.

JSON-представление
{
  "name": string,
  "threadKey": string
}
Поля
name

string

Идентификатор. Имя ресурса потока.

Пример: spaces/{space}/threads/{thread}

threadKey

string

Необязательный параметр. Входные данные для создания или обновления потока. В противном случае — только вывод. Идентификатор потока. Поддерживает до 4000 символов.

Этот идентификатор уникален для приложения чата, которое его установило. Например, если несколько приложений чата создают сообщение, используя один и тот же ключ ветки, сообщения будут опубликованы в разных ветках. Чтобы ответить в ветке, созданной одним человеком или другим приложением чата, укажите вместо этого поле name ветки.

ДействиеОтвет

Параметры, которые приложение чата может использовать для настройки способа отправки ответа.

JSON-представление
{
  "type": enum (ResponseType),
  "url": string,
  "dialogAction": {
    object (DialogAction)
  },
  "updatedWidget": {
    object (UpdatedWidget)
  }
}
Поля
type

enum ( ResponseType )

Только ввод. Тип ответа приложения для чата.

url

string

Только для ввода. URL-адрес для аутентификации или настройки пользователей. (Только для типов ответов REQUEST_CONFIG .)

dialogAction

object ( DialogAction )

Только ввод. Ответ на событие взаимодействия, связанное с диалогом . Должен сопровождаться ResponseType.Dialog .

updatedWidget

object ( UpdatedWidget )

Только ввод данных. Ответ обновленного виджета.

Тип ответа

Тип ответа приложения для чата.

Перечисления
TYPE_UNSPECIFIED Тип по умолчанию, обрабатываемый как NEW_MESSAGE .
NEW_MESSAGE Опубликовать как новое сообщение в этой теме.
UPDATE_MESSAGE Обновить сообщение в чате. Это разрешено только при событии CARD_CLICKED , где тип отправителя сообщения — BOT .
UPDATE_USER_MESSAGE_CARDS Обновить карточки в сообщении пользователя. Это разрешено только в ответ на событие MESSAGE с соответствующим URL-адресом или событие CARD_CLICKED , где тип отправителя сообщения — HUMAN . Текст игнорируется.
REQUEST_CONFIG Запросить у пользователя дополнительную аутентификацию или настройку в частном порядке.
DIALOG Представляет диалог .
UPDATE_WIDGET Варианты автозаполнения текста виджета.

DialogAction

Содержит диалоговое окно и код состояния запроса.

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 не поддерживают следующие сущности карточек: DateTimePicker , OnChangeAction .

ActionStatus

Отображает статус запроса на запуск или отправку диалога .

JSON-представление
{
  "statusCode": enum (Code),
  "userFacingMessage": string
}
Поля
statusCode

enum ( Code )

Код состояния.

userFacingMessage

string

Сообщение, которое необходимо отправить пользователям о статусе их запроса. Если параметр не задан, отправляется стандартное сообщение, основанное на statusCode .

Код

Канонические коды ошибок для API gRPC.

Иногда может применяться несколько кодов ошибок. Сервисы должны возвращать наиболее конкретный код ошибки, который применим. Например, если применимы оба кода, следует отдавать предпочтение OUT_OF_RANGE перед FAILED_PRECONDITION . Аналогично, следует отдавать предпочтение NOT_FOUND или ALREADY_EXISTS перед FAILED_PRECONDITION .

Перечисления
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_PRECONDITION , ABORTED и UNAVAILABLE : (a) Используйте UNAVAILABLE если клиент может повторить только неудачный вызов. (b) Используйте ABORTED если клиент должен повторить вызов на более высоком уровне. Например, если указанная клиентом проверка и установка завершается неудачей, это означает, что клиент должен перезапустить последовательность чтения-изменения-записи. (c) Используйте FAILED_PRECONDITION , если клиент не должен повторять вызов до тех пор, пока состояние системы не будет явно исправлено. Например, если операция "rmdir" завершается неудачей из-за того, что каталог не пуст, следует вернуть FAILED_PRECONDITION поскольку клиент не должен повторять вызов, пока файлы не будут удалены из каталога.

HTTP-сопоставление: 400 Неверный запрос

ABORTED

Операция была прервана, как правило, из-за проблемы параллельного выполнения, например, из-за сбоя проверки последовательности или прерывания транзакции.

См. приведенные выше рекомендации по выбору между FAILED_PRECONDITION , ABORTED и UNAVAILABLE .

HTTP-сопоставление: конфликт 409

OUT_OF_RANGE

Операция была предпринята за пределами допустимого диапазона. Например, поиск или чтение за пределами конца файла.

В отличие от INVALID_ARGUMENT , эта ошибка указывает на проблему, которую можно исправить, изменив состояние системы. Например, 32-битная файловая система сгенерирует INVALID_ARGUMENT если запрос на чтение по смещению, не входящему в диапазон [0,2^32-1], но сгенерирует OUT_OF_RANGE если запрос на чтение по смещению, выходящему за пределы текущего размера файла.

Между FAILED_PRECONDITION и OUT_OF_RANGE существует значительное совпадение. Мы рекомендуем использовать OUT_OF_RANGE (более специфичную ошибку), когда это применимо, чтобы вызывающие функции, итерирующие по пространству, могли легко обнаружить ошибку OUT_OF_RANGE и определить, когда они завершили работу.

HTTP-сопоставление: 400 Неверный запрос

UNIMPLEMENTED

Данная операция не реализована, не поддерживается и не включена в этом сервисе.

HTTP-сопоставление: ошибка 501 не реализована

INTERNAL

Внутренние ошибки. Это означает, что некоторые инварианты, ожидаемые базовой системой, были нарушены. Этот код ошибки используется только для серьезных ошибок.

HTTP-сопоставление: 500 Внутренняя ошибка сервера

UNAVAILABLE

В данный момент услуга недоступна. Вероятнее всего, это временное состояние, которое можно исправить, повторив попытку с задержкой. Обратите внимание, что повторная попытка выполнения неидемпотентных операций не всегда безопасна.

См. приведенные выше рекомендации по выбору между FAILED_PRECONDITION , ABORTED и UNAVAILABLE .

HTTP-сопоставление: 503 Сервис недоступен

DATA_LOSS

Невосстановимая потеря или повреждение данных.

HTTP-сопоставление: 500 Внутренняя ошибка сервера

Обновленный виджет

Для виджетов selectionInput возвращаются подсказки автозаполнения для меню с множественным выбором.

JSON-представление
{
  "widget": string,

  // Union field updated_widget can be only one of the following:
  "suggestions": {
    object (SelectionItems)
  }
  // End of list of possible types for union field updated_widget.
}
Поля
widget

string

Идентификатор обновляемого виджета. Идентификатор должен совпадать с идентификатором виджета, который инициировал запрос на обновление.

Поле объединения updated_widget . Виджет обновляется в ответ на действие пользователя. updated_widget может принимать только одно из следующих значений:
suggestions

object ( SelectionItems )

Список результатов автозаполнения виджета

Элементы выбора

Список результатов автозаполнения виджета.

JSON-представление
{
  "items": [
    {
      object (SelectionItem)
    }
  ]
}
Поля
items[]

object ( SelectionItem )

Массив объектов SelectionItem.

SlashCommand

Метаданные о команде со слэшем в Google Chat.

JSON-представление
{
  "commandId": string
}
Поля
commandId

string ( int64 format)

Идентификатор команды с косой чертой.

MatchedUrl

Совпадающий URL-адрес в сообщении чата. Приложения для чата могут предварительно просматривать совпадающие URL-адреса. Для получения дополнительной информации см. раздел «Предварительный просмотр ссылок» .

JSON-представление
{
  "url": string
}
Поля
url

string

Только вывод. Совпадающий URL-адрес.

EmojiReactionSummary

Количество людей, отреагировавших на сообщение определенным эмодзи.

JSON-представление
{
  "emoji": {
    object (Emoji)
  },
  "reactionCount": integer
}
Поля
emoji

object ( Emoji )

Только вывод. Эмодзи, связанные с реакциями.

reactionCount

integer

Только вывод. Общее количество реакций с использованием соответствующих эмодзи.

Метаданные удаления

Информация об удалённом сообщении. Сообщение удаляется, когда задано значение параметра deleteTime .

JSON-представление
{
  "deletionType": enum (DeletionType)
}
Поля
deletionType

enum ( DeletionType )

Указывает, кто удалил сообщение.

Тип удаления

Кто удалил сообщение и как оно было удалено. В будущем могут быть добавлены дополнительные параметры. Подробную информацию о том, когда можно удалять сообщения, см. в разделе «Редактирование или удаление сообщения в Google Chat» .

Перечисления
DELETION_TYPE_UNSPECIFIED Это значение не используется.
CREATOR Пользователь удалил собственное сообщение.
SPACE_OWNER Сообщение удалил владелец или управляющий.
ADMIN Администратор Google Workspace удалил сообщение. Администраторы могут удалять любые сообщения в пространстве, включая сообщения, отправленные любым участником пространства или приложением чата.
APP_MESSAGE_EXPIRY Приложение для чата удаляло собственное сообщение по истечении срока его действия.
CREATOR_VIA_APP Приложение для чата удалило сообщение от имени его автора (используя аутентификацию пользователя).
SPACE_OWNER_VIA_APP Приложение для чата удалило сообщение от имени администратора помещения (используя аутентификацию пользователя).
SPACE_MEMBER Один из участников сообщества удалил сообщение. Пользователи могут удалять сообщения, отправленные через приложения.

QuotedMessageMetadata

Информация о сообщении, которое цитируется в другом сообщении.

При создании сообщения вы можете цитировать сообщения в рамках той же ветки обсуждения или цитировать основное сообщение, чтобы создать новое основное сообщение. Однако вы не можете цитировать ответ на сообщение из другой ветки обсуждения.

При обновлении сообщения вы не можете добавить или заменить поле quotedMessageMetadata , но можете его удалить.

Примеры использования см. в разделе «Цитировать другое сообщение» .

JSON-представление
{
  "name": string,
  "lastUpdateTime": string
}
Поля
name

string

Обязательно. Имя ресурса цитируемого сообщения.

Формат: spaces/{space}/messages/{message}

lastUpdateTime

string ( Timestamp format)

Обязательно. Отметка времени создания цитируемого сообщения или его последнего обновления.

Если сообщение было отредактировано, используйте это поле: lastUpdateTime . Если сообщение никогда не редактировалось, используйте createTime .

Если lastUpdateTime не совпадает с последней версией цитируемого сообщения, запрос завершается неудачей.

AttachedGif

GIF-изображение, заданное URL-адресом.

JSON-представление
{
  "uri": string
}
Поля
uri

string

Только вывод. URL-адрес, на котором размещено GIF-изображение.

AccessoryWidget

Один или несколько интерактивных виджетов, которые отображаются внизу сообщения. Подробнее см. раздел «Добавление интерактивных виджетов внизу сообщения» .

JSON-представление
{

  // Union field action can be only one of the following:
  "buttonList": {
    object (ButtonList)
  }
  // End of list of possible types for union field action.
}
Поля
Полевые action профсоюза. Тип действия. action может быть только одним из следующих:
buttonList

object ( ButtonList )

Список кнопок.

Методы

create

Создает сообщение в чате Google.

delete

Удаляет сообщение.

get

Возвращает подробную информацию о сообщении.

list

Выводит список сообщений в пространстве, участником которого является звонящий, включая сообщения от заблокированных участников и пространств.

patch

Обновляет сообщение.

update

Обновляет сообщение.