REST Resource: spaces.messages

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

Ресурс: Сообщение

Сообщение в Google Chat.

Представление JSON
{
  "name": string,
  "sender": {
    object (User)
  },
  "createTime": string,
  "lastUpdateTime": string,
  "deleteTime": string,
  "text": 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)
  }
}
Поля
name

string

Имя ресурса в виде spaces/*/messages/* .

Пример: spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB

sender

object ( User )

Только вывод. Пользователь, создавший сообщение.

createTime

string ( Timestamp format)

Только вывод. Время создания сообщения на сервере Google Chat.

lastUpdateTime

string ( Timestamp format)

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

deleteTime

string ( Timestamp format)

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

text

string

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

cards[]
(deprecated)

object ( Card )

cardsV2 : вместо этого используйте карты V2.

Богатые, форматированные и интерактивные карты, которые можно использовать для отображения элементов пользовательского интерфейса, таких как: форматированный текст, кнопки, интерактивные изображения. Карточки обычно отображаются под обычным текстом сообщения.

cardsV2[]

object ( CardWithId )

Богато отформатированные и интерактивные карты, которые отображают элементы пользовательского интерфейса и редактируемые виджеты, такие как:

  • Форматированный текст
  • Кнопки
  • Кликабельные изображения
  • Флажки
  • Радио-кнопки
  • Виджеты ввода.

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

cardId — это уникальный идентификатор среди карточек в одном сообщении и для идентификации значений, введенных пользователем.

В настоящее время поддерживаются следующие виджеты:

  • TextParagraph
  • DecoratedText
  • Image
  • ButtonList
  • Divider
annotations[]

object ( Annotation )

Только вывод. Аннотации, связанные с текстом в этом сообщении.

thread

object ( Thread )

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

space

object ( Space )

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

fallbackText

string

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

actionResponse

object ( ActionResponse )

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

argumentText

string

Простой текст сообщения, в котором исключены все упоминания приложения Chat.

slashCommand

object ( SlashCommand )

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

attachment[]

object ( Attachment )

Пользователь загрузил вложение.

matchedUrl

object ( MatchedUrl )

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

threadReply

boolean

Только вывод. Когда true , сообщение является ответом в потоке ответов. При false сообщение отображается в диалоге верхнего уровня пространства либо как первое сообщение ветки, либо как сообщение без веток-ответов.

Если пространство не поддерживает ответ в цепочках, это поле всегда имеет значение false .

clientAssignedMessageId

string

Пользовательское имя для сообщения чата, назначенное при создании. Должен начинаться с client- и содержать только строчные буквы, цифры и дефисы длиной до 63 символов. Укажите это поле, чтобы получить, обновить или удалить сообщение с указанным значением. Пример использования см. в разделе Имя созданного сообщения .

emojiReactionSummaries[]

object ( EmojiReactionSummary )

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

deletionMetadata

object ( DeletionMetadata )

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

CardWithId

Виджеты для приложений чата для указания.

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

string

cardsV2 для сообщенийcardV2. Идентификатор этого виджета, указанный приложением чата. Охватывается сообщением.

card

object ( Card )

Протокарта, которая позволяет приложениям Chat указывать элементы пользовательского интерфейса и редактируемые виджеты.

Аннотация

Аннотации, связанные с обычным текстом сообщения.

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

Hello @FooBot how are you!"

Соответствующие метаданные аннотаций:

"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
{
  "type": enum (AnnotationType),
  "startIndex": integer,
  "length": 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 )

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

startIndex

integer

Начальный индекс (начиная с 0, включительно) в текстовом теле сообщения, которому соответствует эта аннотация.

length

integer

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

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

object ( UserMentionMetadata )

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

slashCommand

object ( SlashCommandMetadata )

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

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

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

перечисления
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 Упоминание пользователя в пробеле.

Метаданные SlashCommand

Метаданные аннотаций для команд с косой чертой (/).

Представление 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)

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

triggersDialog

boolean

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

Тип

перечисления
TYPE_UNSPECIFIED Значение по умолчанию для перечисления. НЕ ИСПОЛЬЗУЙ.
ADD Добавьте приложение чата в пространство.
INVOKE Вызвать команду косой черты в пространстве.

Нить

Тема в Google Chat.

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

string

Имя ресурса потока.

Пример: пробелы/{пробел}/потоки/{поток}

threadKey

string

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

Для других запросов это поле предназначено только для вывода.

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

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

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

enum ( ResponseType )

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

url

string

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

dialogAction

object ( DialogAction )

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

тип ответа

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

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

ДиалогДействие

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

Представление JSON
{
  "actionStatus": {
    object (ActionStatus)
  },
  "dialog": {
    object (Dialog)
  }
}
Поля
actionStatus

object ( ActionStatus )

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

dialog

object ( Dialog )

Только ввод. Диалог запроса.

Диалог

Обертка вокруг тела карточки диалога.

Представление JSON
{
  "body": {
    object (Card)
  }
}
Поля
body

object ( Card )

Только ввод. Тело диалога, отображаемое в модальном режиме. Приложения Google Chat не поддерживают следующие объекты карточек: DateTimePicker , OnChangeAction .

Статус действия

Представляет состояние запроса на вызов или отправку диалогового окна .

Представление 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 ОК

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 Внутренняя ошибка сервера

SlashCommand

Команда косой черты в Google Chat.

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

string ( int64 format)

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

MatchedUrl

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

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

string

Только вывод. Совпавший URL.

EmojiReactionСводка

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

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

object ( Emoji )

Смайлики, связанные с реакциями.

reactionCount

integer

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

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

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

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

enum ( DeletionType )

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

Тип удаления

Кто удалил сообщение и как оно было удалено.

перечисления
DELETION_TYPE_UNSPECIFIED Это значение не используется.
CREATOR Пользователь удалил собственное сообщение.
SPACE_OWNER Владелец сайта удалил сообщение.
ADMIN Администратор Google Workspace удалил это сообщение.
APP_MESSAGE_EXPIRY Приложение чата удалило собственное сообщение по истечении срока его действия.
CREATOR_VIA_APP Приложение Chat удалило сообщение от имени пользователя.
SPACE_OWNER_VIA_APP Приложение Chat удалило сообщение от имени владельца пространства.

Методы

create

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

delete

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

get

Возвращает сообщение.

list

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

update

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