Обзор сообщений Google Chat

На этой странице объясняется разница между текстовыми сообщениями и открытками.

Когда приложения для чата отправляют текстовые сообщения для передачи основной информации, сообщения отображаются непосредственно в тексте, как и сообщения в Google Chat. Для создания сообщений, содержащих не только текст, или сообщений, с которыми пользователи могут взаимодействовать, приложения для чата могут использовать карточки . Приложения для чата также могут добавлять текстовое сообщение к карточке. Чтобы предложить пользователям завершить многоэтапные процессы, такие как заполнение формы, приложения для чата также могут создавать карточки, которые открываются в новом окне в виде диалоговых окон .

Анатомия текстового сообщения

В Google Chat API сообщения представляются в виде объектов JSON. Внутри сообщения текстовое сообщение представляется в виде text объекта.

В следующем примере приложение «Чат» создает текстовое сообщение в рабочем пространстве для команды разработчиков программного обеспечения о приближении моратория на внесение изменений в код:

{
  "text": "Attention <users/all>: Code freeze starts at `11:59 am` Pacific Standard Time! If you need a little more time, type `/moreTime` and I'll push the code freeze back one hour."
}

В результате выполнения запроса JSON возвращается следующее сообщение:

Пример текстового сообщения в Google Chat, объявляющего о приостановке разработки кода.

Анатомия поздравительного сообщения

В Google Chat API сообщения представляются в виде объектов JSON. Внутри сообщения карточка представлена ​​массивом cardsV2 и состоит из следующих элементов:

  • Один или несколько объектов CardWithId .
  • Идентификатор cardId используется для идентификации карты и ограничен рамками данного сообщения. (Карты в разных сообщениях могут иметь один и тот же идентификатор.)
  • Объект card , состоящий из следующих элементов:

    • Объект header , который определяет такие параметры, как заголовок, подзаголовок и изображение в стиле аватара.
    • Один или несколько объектов section , каждый из которых содержит как минимум один виджет.
    • Один или несколько widget . Каждый виджет представляет собой составной объект, который может отображать текст, изображения, кнопки и другие типы объектов.

В качестве примера, следующее сообщение в карточке содержит объекты header , section и widget :

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

Следующий код представляет собой JSON-код сообщения на открытке:

JSON

{
  "cardsV2": [
    {
      "cardId": "unique-card-id",
      "card": {
        "header": {
          "title": "Sasha",
          "subtitle": "Software Engineer",
          "imageUrl": "https://developers.google.com/chat/images/quickstart-app-avatar.png",
          "imageType": "CIRCLE",
          "imageAltText": "Avatar for Sasha"
        },
        "sections": [
          {
            "header": "Contact Info",
            "collapsible": true,
            "uncollapsibleWidgetsCount": 1,
            "widgets": [
              {
                "decoratedText": {
                  "startIcon": {
                    "knownIcon": "EMAIL"
                  },
                  "text": "sasha@example.com"
                }
              },
              {
                "decoratedText": {
                  "startIcon": {
                    "knownIcon": "PERSON"
                  },
                  "text": "<font color=\"#80e27e\">Online</font>"
                }
              },
              {
                "decoratedText": {
                  "startIcon": {
                    "knownIcon": "PHONE"
                  },
                  "text": "+1 (555) 555-1234"
                }
              },
              {
                "buttonList": {
                  "buttons": [
                    {
                      "text": "Share",
                      "onClick": {
                        "openLink": {
                          "url": "https://example.com/share"
                        }
                      }
                    },
                    {
                      "text": "Edit",
                      "onClick": {
                        "action": {
                          "function": "goToView",
                          "parameters": [
                            {
                              "key": "viewType",
                              "value": "EDIT"
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  ]
}


Используйте конструктор карточек для разработки и предварительного просмотра сообщений и пользовательских интерфейсов для чат-приложений:

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