Card

Google Chat 메시지 또는 Google Workspace 부가기능에 표시되는 카드 인터페이스입니다.

카드는 정의된 레이아웃, 버튼과 같은 대화형 UI 요소, 이미지와 같은 리치 미디어를 지원합니다. 카드를 사용하여 세부정보를 표시하고, 사용자로부터 정보를 수집하고, 사용자가 다음 단계를 수행하도록 안내합니다.

카드 빌더를 사용하여 카드를 디자인하고 미리 봅니다.

카드 빌더 열기

카드를 빌드하는 방법을 알아보려면 다음 문서를 참고하세요.

참고: 카드당 최대 100개의 위젯을 추가할 수 있습니다. 섹션의 위젯이 총 개수를 100개 이상으로 늘리면 해당 섹션 전체와 이후의 모든 섹션이 무시됩니다. 이 한도는 Google Chat 앱의 카드 메시지와 대화상자, Google Workspace 부가기능의 카드에 모두 적용됩니다.

예: Google Chat 앱의 카드 메시지

연락처 카드 예시

Google Chat에서 샘플 카드 메시지를 만들려면 다음 JSON을 사용합니다.

{
  "cardsV2": [
    {
      "cardId": "unique-card-id",
      "card": {
        "header": {
           "title": "Sasha",
           "subtitle": "Software Engineer",
           "imageUrl":
           "https://developers.google.com/workspace/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"
                             }
                           ]
                         }
                       }
                     }
                   ]
                 }
               }
             ]
           }
         ]
       }
    }
  ]
}
JSON 표현
{
  "header": {
    object (CardHeader)
  },
  "sections": [
    {
      object (Section)
    }
  ],
  "sectionDividerStyle": enum (DividerStyle),
  "cardActions": [
    {
      object (CardAction)
    }
  ],
  "name": string,
  "fixedFooter": {
    object (CardFixedFooter)
  },
  "displayStyle": enum (DisplayStyle),
  "peekCardHeader": {
    object (CardHeader)
  },
  "expressionData": [
    {
      object (ExpressionData)
    }
  ]
}
필드
header

object (CardHeader)

카드의 헤더입니다. 헤더에는 일반적으로 선행 이미지와 제목이 포함됩니다. 헤더는 항상 카드의 상단에 표시됩니다.

sections[]

object (Section)

위젯 모음을 포함합니다. 각 섹션에는 선택적인 헤더가 있습니다. 섹션은 선 구분자로 시각적으로 구분됩니다. Google Chat 앱의 예시는 카드의 섹션 정의를 참고하세요.

sectionDividerStyle

enum (DividerStyle)

헤더, 섹션, 바닥글 사이의 구분선 스타일입니다.

cardActions[]

object (CardAction)

카드의 작업입니다. 작업이 카드의 툴바 메뉴에 추가됩니다. 최대 10개의 CardAction 항목을 지원합니다.

Google Workspace 부가기능에 사용할 수 있으며 Google Chat 앱에는 사용할 수 없습니다.

예를 들어 다음 JSON은 Settings 및 Send Feedback 옵션이 있는 카드 작업 메뉴를 구성합니다.

"cardActions": [
  {
    "actionLabel": "Settings",
    "onClick": {
      "action": {
        "functionName": "goToView",
        "parameters": [
          {
            "key": "viewType",
            "value": "SETTING"
         }
        ],
        "loadIndicator": "LoadIndicator.SPINNER"
      }
    }
  },
  {
    "actionLabel": "Send Feedback",
    "onClick": {
      "openLink": {
        "url": "https://example.com/feedback"
      }
    }
  }
]
name

string

카드 이름입니다. 카드 탐색에서 카드 식별자로 사용됩니다.

Google Workspace 부가기능에 사용할 수 있으며 Google Chat 앱에는 사용할 수 없습니다.

displayStyle

enum (DisplayStyle)

Google Workspace 부가기능에서 peekCardHeader의 표시 속성을 설정합니다.

Google Workspace 부가기능에 사용할 수 있으며 Google Chat 앱에는 사용할 수 없습니다.

peekCardHeader

object (CardHeader)

컨텍스트 콘텐츠를 표시할 때 미리보기 카드 헤더는 사용자가 홈페이지 카드와 컨텍스트 카드 간에 앞으로 이동할 수 있도록 자리표시자 역할을 합니다.

Google Workspace 부가기능에 사용할 수 있으며 Google Chat 앱에는 사용할 수 없습니다.

expressionData[]

object (ExpressionData)

카드의 표현식 데이터입니다.

Google Workspace Studio를 확장하는 Google Workspace 부가기능에 사용할 수 있습니다. Google Chat 앱에서는 사용할 수 없습니다.

CardHeader

카드 헤더를 나타냅니다. Google Chat 앱의 예시는 헤더 추가를 참고하세요.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

JSON 표현
{
  "title": string,
  "subtitle": string,
  "imageType": enum (ImageType),
  "imageUrl": string,
  "imageAltText": string
}
필드
title

string

필수 항목입니다. 카드 헤더의 제목입니다. 헤더의 높이는 고정되어 있습니다. 제목과 부제목이 모두 지정된 경우 각각 한 줄을 차지합니다. 제목만 지정하면 두 줄을 모두 차지합니다.

subtitle

string

카드 헤더의 부제목입니다. 지정된 경우 title 아래의 자체 줄에 표시됩니다.

imageType

enum (ImageType)

이미지를 자르는 데 사용되는 도형입니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

imageUrl

string

카드 헤더에 있는 이미지의 HTTPS URL입니다.

imageAltText

string

접근성에 사용되는 이 이미지의 대체 텍스트입니다.

섹션

섹션에는 지정된 순서대로 세로로 렌더링되는 위젯 모음이 포함됩니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

JSON 표현
{
  "header": string,
  "widgets": [
    {
      object (Widget)
    }
  ],
  "collapsible": boolean,
  "uncollapsibleWidgetsCount": integer,
  "id": string,
  "collapseControl": {
    object (CollapseControl)
  }
}
필드
header

string

섹션 상단에 표시되는 텍스트입니다. 간단한 HTML 형식의 텍스트를 지원합니다. 텍스트 서식 지정에 관한 자세한 내용은 Google Chat 앱의 텍스트 서식 지정 및 Google Workspace 부가기능의 텍스트 서식 지정을 참고하세요.

widgets[]

object (Widget)

섹션의 모든 위젯입니다. 위젯이 하나 이상 포함되어야 합니다. 카드는 모든 섹션에서 최대 100개의 위젯을 지원합니다.

collapsible

boolean

이 섹션을 접을 수 있는지 여부를 나타냅니다.

접을 수 있는 섹션은 일부 또는 모든 위젯을 숨기지만 사용자는 더보기를 클릭하여 섹션을 펼쳐 숨겨진 위젯을 표시할 수 있습니다. 사용자는 간략히 보기를 클릭하여 위젯을 다시 숨길 수 있습니다.

숨겨진 위젯을 확인하려면 uncollapsibleWidgetsCount를 지정합니다.

uncollapsibleWidgetsCount

integer

섹션이 접혀 있어도 계속 표시되는 접을 수 없는 위젯의 수입니다.

예를 들어 섹션에 위젯이 5개 있고 uncollapsibleWidgetsCount가 2로 설정된 경우 처음 두 위젯은 항상 표시되고 마지막 세 위젯은 기본적으로 접힙니다. uncollapsibleWidgetsCount는 collapsible가 true인 경우에만 고려됩니다.

id

string

변경할 섹션을 식별하는 데 사용되는 섹션에 할당된 고유 ID입니다. ID는 64자 글자 수 제한이 있으며 [a-zA-Z0-9-]+ 형식이어야 합니다.

Google Workspace Studio를 확장하는 Google Workspace 부가기능에 사용할 수 있습니다. Google Chat 앱에서는 사용할 수 없습니다.

collapseControl

object (CollapseControl)

선택사항입니다. 섹션의 펼치기 및 접기 버튼을 정의합니다. 이 버튼은 섹션을 접을 수 있는 경우에만 표시됩니다. 이 필드를 설정하지 않으면 기본 버튼이 사용됩니다.

위젯

각 카드는 위젯으로 구성됩니다.

위젯은 텍스트, 이미지, 버튼, 기타 객체 유형 중 하나를 나타낼 수 있는 복합 객체입니다.

JSON 표현
{
  "horizontalAlignment": enum (HorizontalAlignment),
  "id": string,
  "visibility": enum (Visibility),
  "eventActions": [
    {
      object (EventAction)
    }
  ],

  "textParagraph": {
    object (TextParagraph)
  },
  "image": {
    object (Image)
  },
  "decoratedText": {
    object (DecoratedText)
  },
  "buttonList": {
    object (ButtonList)
  },
  "textInput": {
    object (TextInput)
  },
  "selectionInput": {
    object (SelectionInput)
  },
  "dateTimePicker": {
    object (DateTimePicker)
  },
  "divider": {
    object (Divider)
  },
  "grid": {
    object (Grid)
  },
  "columns": {
    object (Columns)
  },
  "carousel": {
    object (Carousel)
  },
  "chipList": {
    object (ChipList)
  }
}
필드
horizontalAlignment

enum (HorizontalAlignment)

위젯이 열의 왼쪽, 오른쪽 또는 가운데에 정렬되는지 지정합니다.

id

string

변경할 위젯을 식별하는 데 사용되는 위젯에 할당된 고유 ID입니다. ID는 64자(영문 기준)로 제한되며 [a-zA-Z0-9-]+ 형식이어야 합니다.

Google Workspace Studio를 확장하는 Google Workspace 부가기능에 사용할 수 있습니다. Google Chat 앱에서는 사용할 수 없습니다.

visibility

enum (Visibility)

위젯의 표시 여부를 지정합니다. 기본값은 VISIBLE입니다.

Google Workspace Studio를 확장하는 Google Workspace 부가기능에 사용할 수 있습니다. Google Chat 앱에서는 사용할 수 없습니다.

eventActions[]

object (EventAction)

위젯에서 실행할 수 있는 이벤트 작업을 지정합니다.

Google Workspace Studio를 확장하는 Google Workspace 부가기능에 사용할 수 있습니다. Google Chat 앱에서는 사용할 수 없습니다.

위젯에는 다음 항목 중 하나만 포함될 수 있습니다. 여러 위젯 필드를 사용하여 더 많은 항목을 표시할 수 있습니다. 다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.
textParagraph

object (TextParagraph)

텍스트 단락을 표시합니다. 간단한 HTML 형식의 텍스트를 지원합니다. 텍스트 서식 지정에 관한 자세한 내용은 Google Chat 앱의 텍스트 서식 지정 및 Google Workspace 부가기능의 텍스트 서식 지정을 참고하세요.

예를 들어 다음 JSON은 굵게 표시된 텍스트를 만듭니다.

"textParagraph": {
  "text": "  <b>bold text</b>"
}
image

object (Image)

이미지를 표시합니다.

예를 들어 다음 JSON은 대체 텍스트가 있는 이미지를 만듭니다.

"image": {
  "imageUrl":
  "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png",
  "altText": "Chat app avatar"
}
decoratedText

object (DecoratedText)

장식된 텍스트 항목을 표시합니다.

예를 들어 다음 JSON은 이메일 주소를 표시하는 꾸며진 텍스트 위젯을 만듭니다.

"decoratedText": {
  "icon": {
    "knownIcon": "EMAIL"
  },
  "topLabel": "Email Address",
  "text": "sasha@example.com",
  "bottomLabel": "This is a new Email address!",
  "switchControl": {
    "name": "has_send_welcome_email_to_sasha",
    "selected": false,
    "controlType": "CHECKBOX"
  }
}
buttonList

object (ButtonList)

버튼 목록입니다.

예를 들어 다음 JSON은 버튼 2개를 만듭니다. 첫 번째는 파란색 텍스트 버튼이고 두 번째는 링크를 여는 이미지 버튼입니다.

"buttonList": {
  "buttons": [
    {
      "text": "Edit",
      "color": {
        "red": 0,
        "green": 0,
        "blue": 1,
      },
      "disabled": true,
    },
    {
      "icon": {
        "knownIcon": "INVITE",
        "altText": "check calendar"
      },
      "onClick": {
        "openLink": {
          "url": "https://example.com/calendar"
        }
      }
    }
  ]
}
textInput

object (TextInput)

사용자가 입력할 수 있는 텍스트 상자를 표시합니다.

예를 들어 다음 JSON은 이메일 주소의 텍스트 입력을 만듭니다.

"textInput": {
  "name": "mailing_address",
  "label": "Mailing Address"
}

또 다른 예로, 다음 JSON은 정적 추천이 있는 프로그래밍 언어의 텍스트 입력을 만듭니다.

"textInput": {
  "name": "preferred_programing_language",
  "label": "Preferred Language",
  "initialSuggestions": {
    "items": [
      {
        "text": "C++"
      },
      {
        "text": "Java"
      },
      {
        "text": "JavaScript"
      },
      {
        "text": "Python"
      }
    ]
  }
}
selectionInput

object (SelectionInput)

사용자가 항목을 선택할 수 있는 선택 컨트롤을 표시합니다. 선택 컨트롤은 체크박스, 라디오 버튼, 스위치 또는 드롭다운 메뉴일 수 있습니다.

예를 들어 다음 JSON은 사용자가 크기를 선택할 수 있는 드롭다운 메뉴를 만듭니다.

"selectionInput": {
  "name": "size",
  "label": "Size"
  "type": "DROPDOWN",
  "items": [
    {
      "text": "S",
      "value": "small",
      "selected": false
    },
    {
      "text": "M",
      "value": "medium",
      "selected": true
    },
    {
      "text": "L",
      "value": "large",
      "selected": false
    },
    {
      "text": "XL",
      "value": "extra_large",
      "selected": false
    }
  ]
}
dateTimePicker

object (DateTimePicker)

사용자가 날짜, 시간 또는 날짜와 시간을 입력할 수 있는 위젯을 표시합니다.

예를 들어 다음 JSON은 약속을 예약하는 날짜 시간 선택 도구를 만듭니다.

"dateTimePicker": {
  "name": "appointment_time",
  "label": "Book your appointment at:",
  "type": "DATE_AND_TIME",
  "valueMsEpoch": 796435200000
}
divider

object (Divider)

위젯 사이에 가로 구분선을 표시합니다.

예를 들어 다음 JSON은 구분선을 만듭니다.

"divider": {
}
grid

object (Grid)

항목 모음이 있는 그리드를 표시합니다.

그리드는 열과 항목을 제한 없이 지원합니다. 행 수는 항목 수의 상한을 열 수로 나눈 값으로 결정됩니다. 항목이 10개이고 열이 2개인 그리드에는 행이 5개 있습니다. 항목이 11개이고 열이 2개인 그리드에는 행이 6개 있습니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

예를 들어 다음 JSON은 단일 항목이 있는 2열 그리드를 만듭니다.

"grid": {
  "title": "A fine collection of items",
  "columnCount": 2,
  "borderStyle": {
    "type": "STROKE",
    "cornerRadius": 4
  },
  "items": [
    {
      "image": {
        "imageUri": "https://www.example.com/image.png",
        "cropStyle": {
          "type": "SQUARE"
        },
        "borderStyle": {
          "type": "STROKE"
        }
      },
      "title": "An item",
      "textAlignment": "CENTER"
    }
  ],
  "onClick": {
    "openLink": {
      "url": "https://www.example.com"
    }
  }
}
columns

object (Columns)

최대 2개의 열을 표시합니다.

열을 3개 이상 포함하거나 행을 사용하려면 Grid 위젯을 사용하세요.

예를 들어 다음 JSON은 각각 텍스트 단락이 포함된 열 2개를 만듭니다.

"columns": {
  "columnItems": [
    {
      "horizontalSizeStyle": "FILL_AVAILABLE_SPACE",
      "horizontalAlignment": "CENTER",
      "verticalAlignment": "CENTER",
      "widgets": [
        {
          "textParagraph": {
            "text": "First column text paragraph"
          }
        }
      ]
    },
    {
      "horizontalSizeStyle": "FILL_AVAILABLE_SPACE",
      "horizontalAlignment": "CENTER",
      "verticalAlignment": "CENTER",
      "widgets": [
        {
          "textParagraph": {
            "text": "Second column text paragraph"
          }
        }
      ]
    }
  ]
}
carousel

object (Carousel)

CarouselCard 항목 모음이 포함되어 있으며, 각 항목에는 중첩된 위젯이 포함되어 있습니다. 예를 들어 다음은 각각 텍스트 단락이 있는 캐러셀 카드 2개가 포함된 캐러셀의 JSON 표현입니다.

{
  "carouselCards": [
    {
      "widgets": [
        {
          "textParagraph": {
            "text": "First text paragraph in the carousel."
          }
        }
      ]
    },
    {
      "widgets": [
        {
          "textParagraph": {
            "text": "Second text paragraph in the carousel."
          }
        }
      ]
    }
  ]
}
chipList

object (ChipList)

칩 목록입니다.

예를 들어 다음 JSON은 칩 2개를 만듭니다. 첫 번째는 텍스트 칩이고 두 번째는 링크를 여는 아이콘 칩입니다.

"chipList": {
  "chips": [
    {
      "label": "Edit",
      "disabled": true
    },
    {
      "icon": {
        "knownIcon": "INVITE",
        "altText": "check calendar"
      },
      "onClick": {
        "openLink": {
          "url": "https://example.com/calendar"
        }
      }
    }
  ]
}
상호 배타적 필드의 끝입니다.

TextParagraph

서식 지정을 지원하는 텍스트 단락입니다. Google Chat 앱의 예는 서식 있는 텍스트 단락 추가를 참고하세요. 텍스트 서식 지정에 관한 자세한 내용은 Google Chat 앱의 텍스트 서식 지정 및 Google Workspace 부가기능의 텍스트 서식 지정을 참고하세요.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

JSON 표현
{
  "text": string,
  "maxLines": integer,
  "textSyntax": enum (TextSyntax)
}
필드
text

string

위젯에 표시되는 텍스트입니다.

maxLines

integer

위젯에 표시되는 최대 텍스트 줄 수입니다. 텍스트가 지정된 최대 줄 수를 초과하면 초과된 콘텐츠는 더보기 버튼 뒤에 숨겨집니다. 텍스트가 지정된 최대 줄 수보다 짧거나 같으면 더보기 버튼이 표시되지 않습니다.

기본값은 0이며 이 경우 모든 컨텍스트가 표시됩니다. 음수 값은 무시됩니다.

textSyntax

enum (TextSyntax)

텍스트의 문법입니다. 설정하지 않으면 텍스트가 HTML로 렌더링됩니다.

Google Chat 앱에서 사용할 수 있으며 Google Workspace 부가기능에서는 사용할 수 없습니다.

TextSyntax

텍스트 서식 지정에 사용할 문법입니다.

Google Chat 앱에서 사용할 수 있으며 Google Workspace 부가기능에서는 사용할 수 없습니다.

열거형
TEXT_SYNTAX_UNSPECIFIED 지정하지 않으면 텍스트가 HTML로 렌더링됩니다.
HTML 텍스트는 HTML로 렌더링됩니다. 기본값입니다.
MARKDOWN 텍스트는 마크다운으로 렌더링됩니다.

이미지

URL로 지정되며 onClick 작업을 포함할 수 있는 이미지입니다. 예시는 이미지 추가를 참고하세요.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

JSON 표현
{
  "imageUrl": string,
  "onClick": {
    object (OnClick)
  },
  "altText": string
}
필드
imageUrl

string

이미지를 호스팅하는 HTTPS URL입니다.

예를 들면 다음과 같습니다.

https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
onClick

object (OnClick)

사용자가 이미지를 클릭하면 이 작업이 트리거됩니다.

altText

string

접근성에 사용되는 이 이미지의 대체 텍스트입니다.

DecoratedText

텍스트 위 또는 아래의 라벨, 텍스트 앞의 아이콘, 선택 위젯, 텍스트 뒤의 버튼과 같은 선택적 장식과 함께 텍스트를 표시하는 위젯입니다. Google Chat 앱의 예는 장식 텍스트로 텍스트 표시를 참고하세요.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

JSON 표현
{
  "icon": {
    object (Icon)
  },
  "startIcon": {
    object (Icon)
  },
  "startIconVerticalAlignment": enum (VerticalAlignment),
  "topLabel": string,
  "topLabelText": {
    object (TextParagraph)
  },
  "text": string,
  "contentText": {
    object (TextParagraph)
  },
  "wrapText": boolean,
  "bottomLabel": string,
  "bottomLabelText": {
    object (TextParagraph)
  },
  "onClick": {
    object (OnClick)
  },

  "button": {
    object (Button)
  },
  "switchControl": {
    object (SwitchControl)
  },
  "endIcon": {
    object (Icon)
  }
}
필드
icon
(deprecated)

object (Icon)

startIcon로 대체되어 지원 중단되었습니다.

startIcon

object (Icon)

텍스트 앞에 표시되는 아이콘입니다.

startIconVerticalAlignment

enum (VerticalAlignment)

선택사항입니다. 시작 아이콘의 세로 정렬입니다. 설정하지 않으면 아이콘이 세로로 중앙에 배치됩니다.

Google Chat 앱에서 사용할 수 있으며 Google Workspace 부가기능에서는 사용할 수 없습니다.

topLabel

string

text 위에 표시되는 텍스트입니다. 항상 자릅니다.

topLabelText

object (TextParagraph)

TextParagraph은 topLabel와 동일합니다. 항상 자릅니다. topLabel보다 더 복잡한 형식을 허용합니다.

Google Chat 앱에서 사용할 수 있으며 Google Workspace 부가기능에서는 사용할 수 없습니다.

text

string

필수 항목입니다. 기본 텍스트입니다.

간단한 서식을 지원합니다. 텍스트 서식 지정에 관한 자세한 내용은 Google Chat 앱의 텍스트 서식 지정 및 Google Workspace 부가기능의 텍스트 서식 지정을 참고하세요.

contentText

object (TextParagraph)

TextParagraph은 text와 동일합니다. text보다 더 복잡한 형식을 지정할 수 있습니다.

Google Chat 앱에서 사용할 수 있으며 Google Workspace 부가기능에서는 사용할 수 없습니다.

wrapText

boolean

텍스트 줄바꿈 설정입니다. true인 경우 텍스트가 줄바꿈되어 여러 줄에 표시됩니다. 그렇지 않으면 텍스트가 잘립니다.

text에만 적용되며 topLabel 및 bottomLabel에는 적용되지 않습니다.

bottomLabel

string

text 아래에 표시되는 텍스트입니다. 항상 줄바꿈합니다.

bottomLabelText

object (TextParagraph)

TextParagraph은 bottomLabel와 동일합니다. 항상 줄바꿈합니다. bottomLabel보다 더 복잡한 형식을 허용합니다.

Google Chat 앱에서 사용할 수 있으며 Google Workspace 부가기능에서는 사용할 수 없습니다.

onClick

object (OnClick)

이 작업은 사용자가 DecoratedText 위젯의 아무 곳이나 클릭할 때 트리거됩니다(text, topLabel, bottomLabel, 아이콘 포함). 단, 별도의 대화형 컨트롤(button 또는 switchControl)을 클릭하는 경우는 예외입니다.

decoratedText 위젯의 텍스트 오른쪽에 표시되는 버튼, 스위치, 체크박스 또는 이미지입니다. 다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.
button

object (Button)

사용자가 클릭하여 작업을 트리거할 수 있는 버튼입니다.

switchControl

object (SwitchControl)

사용자가 클릭하여 상태를 변경하고 작업을 트리거할 수 있는 스위치 위젯입니다.

endIcon

object (Icon)

텍스트 뒤에 표시되는 아이콘입니다.

기본 제공 및 맞춤 아이콘을 지원합니다.

상호 배타적 필드의 끝입니다.

VerticalAlignment

세로 정렬 속성을 나타냅니다.

열거형
VERTICAL_ALIGNMENT_UNSPECIFIED 알 수 없는 유형. 사용하지 마세요.
TOP 상단 위치에 정렬합니다.
MIDDLE 중간 위치에 맞춥니다.
BOTTOM 하단 위치에 정렬합니다.

SwitchControl

decoratedText 위젯 내의 전환 스타일 스위치 또는 체크박스입니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

decoratedText 위젯에서만 지원됩니다.

JSON 표현
{
  "name": string,
  "value": string,
  "selected": boolean,
  "onChangeAction": {
    object (Action)
  },
  "controlType": enum (ControlType)
}
필드
name

string

양식 입력 이벤트에서 스위치 위젯을 식별하는 이름입니다(CommonEventObject.form_inputs의 키).

양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요.

value

string

스위치가 선택될 때 CommonEventObject.form_inputs[name].string_inputs에서 반환되는 값입니다(selected는 true). selected가 true이고 value가 설정되지 않은 경우 빈 문자열("")이 stringInputs.value에서 반환됩니다. selected가 false인 경우 이 값은 stringInputs.value에서 생략됩니다.

양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요.

selected

boolean

true이면 스위치가 선택되고 value가 CommonEventObject.form_inputs[name].string_inputs.value에 포함됩니다.

onChangeAction

object (Action)

스위치 상태가 변경될 때 실행할 작업(예: 실행할 함수)입니다.

controlType

enum (ControlType)

사용자 인터페이스에 스위치가 표시되는 방식입니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

ControlType

사용자 인터페이스에 스위치가 표시되는 방식입니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

열거형
SWITCH 전환 스타일 스위치입니다.
CHECKBOX CHECK_BOX로 대체되어 지원 중단되었습니다.
CHECK_BOX 체크박스

TextInput

사용자가 텍스트를 입력할 수 있는 필드입니다. 추천 및 변경 시 작업을 지원합니다. 양식 제출 유효성 검사를 지원합니다. Action.all_widgets_are_required가 true로 설정되거나 이 위젯이 Action.required_widgets에 지정된 경우 값을 입력하지 않으면 제출 작업이 차단됩니다. Google Chat 앱의 예는 사용자가 텍스트를 입력할 수 있는 필드 추가를 참고하세요.

채팅 앱은 양식 입력 이벤트 중에 입력된 텍스트 값을 수신하고 처리할 수 있습니다. 양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요.

사용자로부터 정의되지 않거나 추상적인 데이터를 수집해야 하는 경우 텍스트 입력을 사용합니다. 사용자로부터 정의되거나 열거된 데이터를 수집하려면 SelectionInput 위젯을 사용합니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

JSON 표현
{
  "name": string,
  "label": string,
  "hintText": string,
  "value": string,
  "type": enum (Type),
  "onChangeAction": {
    object (Action)
  },
  "initialSuggestions": {
    object (Suggestions)
  },
  "autoCompleteAction": {
    object (Action)
  },
  "validation": {
    object (Validation)
  },
  "placeholderText": string,

  "hostAppDataSource": {
    object (HostAppDataSourceMarkup)
  }
}
필드
name

string

양식 입력 이벤트에서 텍스트 입력을 식별하는 이름입니다.

양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요.

label

string

사용자 인터페이스의 텍스트 입력란 위에 표시되는 텍스트입니다.

사용자가 앱에 필요한 정보를 입력하는 데 도움이 되는 텍스트를 지정합니다. 예를 들어 누군가의 이름을 묻고 있지만 특히 성이 필요한 경우 name 대신 surname를 작성합니다.

hintText가 지정되지 않은 경우 필수입니다. 그 외의 경우에는 선택사항입니다.

hintText

string

사용자가 특정 값을 입력하도록 안내하여 사용자를 지원하기 위해 텍스트 입력란 아래에 표시되는 텍스트입니다. 이 텍스트는 항상 표시됩니다.

label가 지정되지 않은 경우 필수입니다. 그 외의 경우에는 선택사항입니다.

value

string

사용자가 입력한 값으로, 양식 입력 이벤트의 일부로 반환됩니다.

양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요.

type

enum (Type)

사용자 인터페이스에 텍스트 입력란이 표시되는 방식 예를 들어 필드가 한 줄인지 여러 줄인지 여부입니다.

onChangeAction

object (Action)

텍스트 입력란에 변경사항이 발생할 때 실행할 작업입니다. 예를 들어 사용자가 필드에 추가하거나 텍스트를 삭제하는 경우입니다.

수행할 수 있는 작업의 예로는 Google Chat에서 맞춤 함수를 실행하거나 대화상자를 여는 것이 있습니다.

initialSuggestions

object (Suggestions)

사용자가 입력할 수 있는 추천 값입니다. 이러한 값은 사용자가 텍스트 입력란 내부를 클릭할 때 표시됩니다. 사용자가 입력하면 추천 값이 사용자가 입력한 내용과 일치하도록 동적으로 필터링됩니다.

예를 들어 프로그래밍 언어의 텍스트 입력란은 Java, JavaScript, Python, C++를 추천할 수 있습니다. 사용자가 Jav를 입력하기 시작하면 추천 목록이 필터링되어 Java 및 JavaScript만 표시됩니다.

추천 값은 사용자가 앱에서 이해할 수 있는 값을 입력하도록 안내하는 데 도움이 됩니다. JavaScript를 참조할 때 일부 사용자는 javascript를 입력하고 다른 사용자는 java script를 입력할 수 있습니다. JavaScript를 추천하면 사용자가 앱과 상호작용하는 방식을 표준화할 수 있습니다.

지정된 경우 TextInput.type는 MULTIPLE_LINE로 설정되어 있어도 항상 SINGLE_LINE입니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

autoCompleteAction

object (Action)

선택사항입니다. 텍스트 입력란이 상호작용하는 사용자에게 추천을 제공할 때 취할 작업을 지정합니다.

지정하지 않으면 추천이 initialSuggestions에 의해 설정되고 클라이언트에서 처리됩니다.

지정된 경우 앱은 맞춤 함수 실행과 같이 여기에 지정된 작업을 실행합니다.

Google Workspace 부가기능에 사용할 수 있으며 Google Chat 앱에는 사용할 수 없습니다.

validation

object (Validation)

이 텍스트 필드에 필요한 입력 형식 유효성 검사를 지정합니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

placeholderText

string

입력란이 비어 있을 때 텍스트 입력란에 표시되는 텍스트입니다. 이 텍스트를 사용하여 사용자에게 값을 입력하라는 메시지를 표시합니다. 예를 들면 Enter a number from 0 to 100입니다.

Google Chat 앱에서 사용할 수 있으며 Google Workspace 부가기능에서는 사용할 수 없습니다.

다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.
hostAppDataSource

object (HostAppDataSourceMarkup)

Gmail 이메일, Google Calendar 일정, Google Chat 채팅 메시지와 같은 Google Workspace 호스트 애플리케이션에 고유한 데이터 소스입니다.

Google Workspace Studio를 확장하는 Google Workspace 부가기능에 사용할 수 있습니다. Google Chat 앱에서는 사용할 수 없습니다.

상호 배타적 필드의 끝입니다.

유형

사용자 인터페이스에 텍스트 입력란이 표시되는 방식 예를 들어 한 줄 입력란인지 여러 줄 입력란인지 여부입니다. initialSuggestions가 지정된 경우 type는 MULTIPLE_LINE로 설정되어 있어도 항상 SINGLE_LINE입니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

열거형
SINGLE_LINE 텍스트 입력란의 높이는 한 줄로 고정되어 있습니다.
MULTIPLE_LINE 텍스트 입력란의 높이는 여러 줄로 고정되어 있습니다.

RenderActions

카드에 작업을 실행하도록 지시하거나 부가기능 호스트 앱 또는 Chat 앱에 앱별 작업을 실행하도록 지시하는 렌더링 안내 집합입니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

필드
action

Action

작업

필드
navigations[]

Navigation

카드를 푸시, 팝 또는 업데이트합니다.

Google Chat의 부가기능

스택에 새 카드를 추가합니다(앞으로 이동). 채팅 앱의 경우 앱 홈에만 사용할 수 있습니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

navigations: {
  pushCard: CARD
}

상단 카드를 새 카드로 바꿉니다. 채팅 앱의 경우 앱 홈에서만 사용할 수 있습니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

navigations: {
  updateCard: CARD
}

추천

사용자가 입력할 수 있는 추천 값입니다. 이러한 값은 사용자가 텍스트 입력란 내부를 클릭할 때 표시됩니다. 사용자가 입력하면 추천 값이 사용자가 입력한 내용과 일치하도록 동적으로 필터링됩니다.

예를 들어 프로그래밍 언어의 텍스트 입력 필드에 Java, JavaScript, Python, C++가 추천될 수 있습니다. 사용자가 Jav를 입력하기 시작하면 추천 목록이 필터링되어 Java 및 JavaScript가 표시됩니다.

추천 값은 사용자가 앱에서 이해할 수 있는 값을 입력하도록 안내하는 데 도움이 됩니다. JavaScript를 참조할 때 일부 사용자는 javascript를 입력하고 다른 사용자는 java script를 입력할 수 있습니다. JavaScript를 추천하면 사용자가 앱과 상호작용하는 방식을 표준화할 수 있습니다.

지정된 경우 TextInput.type는 MULTIPLE_LINE로 설정되어 있어도 항상 SINGLE_LINE입니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

JSON 표현
{
  "items": [
    {
      object (SuggestionItem)
    }
  ]
}
필드
items[]

object (SuggestionItem)

텍스트 입력란의 자동 완성 추천에 사용되는 추천 목록입니다.

SuggestionItem

사용자가 텍스트 입력란에 입력할 수 있는 추천 값입니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

JSON 표현
{

  "text": string
}
필드
다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.
text

string

텍스트 입력란에 추천된 입력 값입니다. 이는 사용자가 직접 입력하는 것과 동일합니다.

상호 배타적 필드의 끝입니다.

유효성 검사

연결된 위젯의 유효성을 검사하는 데 필요한 데이터를 나타냅니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

JSON 표현
{
  "characterLimit": integer,
  "inputType": enum (InputType)
}
필드
characterLimit

integer

텍스트 입력 위젯의 글자 수 제한을 지정합니다. 이 속성은 텍스트 입력에만 사용되며 다른 위젯에서는 무시됩니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

inputType

enum (InputType)

입력 위젯의 유형을 지정합니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

InputType

입력 위젯의 유형입니다.

열거형
INPUT_TYPE_UNSPECIFIED 알 수 없는 유형. 사용하지 마세요.
TEXT 모든 문자를 허용하는 일반 텍스트입니다.
INTEGER 정수 값입니다.
FLOAT 부동 소수점 값입니다.
EMAIL 이메일 주소.
EMOJI_PICKER 시스템에서 제공하는 그림 이모티콘 선택 도구에서 선택한 그림 이모티콘입니다.

HostAppDataSourceMarkup

Google Workspace 애플리케이션의 데이터 소스입니다. 데이터 소스는 위젯에 사용 가능한 항목을 채웁니다.

JSON 표현
{

  "chatDataSource": {
    object (ChatClientDataSourceMarkup)
  },
  "workflowDataSource": {
    object (WorkflowDataSourceMarkup)
  }
}
필드
위젯에 사용 가능한 항목을 채우는 Google Workspace 애플리케이션입니다. 다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.
chatDataSource

object (ChatClientDataSourceMarkup)

Google Chat의 데이터 소스입니다.

workflowDataSource

object (WorkflowDataSourceMarkup)

Google Workflow의 데이터 소스입니다.

상호 배타적 필드의 끝입니다.

ChatClientDataSourceMarkup

다중 선택 메뉴를 사용하는 SelectionInput 위젯의 경우 Google Chat의 데이터 소스입니다. 데이터 소스는 다중 선택 메뉴의 선택 항목을 채웁니다. 예를 들어 사용자는 자신이 참여 중인 Google Chat 스페이스를 선택할 수 있습니다.

Google Chat 앱에서 사용할 수 있으며 Google Workspace 부가기능에서는 사용할 수 없습니다.

JSON 표현
{

  "spaceDataSource": {
    object (SpaceDataSource)
  }
}
필드
Google Chat 데이터 소스 다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.
spaceDataSource

object (SpaceDataSource)

사용자가 멤버로 속한 Google Chat 스페이스

상호 배타적 필드의 끝입니다.

SpaceDataSource

Google Chat 스페이스를 다중 선택 메뉴의 선택 항목으로 채우는 데이터 소스입니다. 사용자가 구성원인 스페이스만 채웁니다.

Google Chat 앱에서 사용할 수 있으며 Google Workspace 부가기능에서는 사용할 수 없습니다.

JSON 표현
{
  "defaultToCurrentSpace": boolean
}
필드
defaultToCurrentSpace

boolean

true로 설정하면 다중 선택 메뉴에서 현재 Google Chat 스페이스를 기본 항목으로 선택합니다.

WorkflowDataSourceMarkup

* Google Workspace 워크플로에서만 지원되며 Google Chat 앱 또는 Google Workspace 부가기능에서는 지원되지 않습니다.

MULTI_SELECT 유형의 TextInput 또는 SelectionInput 위젯이나 DateTimePicker에서 Google의 데이터 소스를 제공합니다.

JSON 표현
{
  "includeVariables": boolean,
  "type": enum (Type)
}
필드
includeVariables

boolean

데이터 소스에 이전 단계의 변수를 포함할지 여부입니다.

type

enum (Type)

데이터 소스 유형입니다.

유형

워크플로 데이터 소스의 유형을 나타내는 enum입니다.

열거형
UNKNOWN 기본값 사용하지 마세요.
USER Google Workspace 사용자 사용자는 Google Workspace 조직의 사용자만 보고 선택할 수 있습니다.
SPACE 사용자가 멤버로 속한 Google Chat 스페이스
USER_WITH_FREE_FORM 사용자는 Google Workspace 조직에서 기존 구성원을 확인하고 선택하거나 이메일 주소 또는 유효한 도메인을 직접 입력할 수 있습니다.

SelectionInput

사용자가 선택할 수 있는 UI 항목을 하나 이상 만드는 위젯입니다. dropdown 및 multiselect 메뉴에만 양식 제출 유효성 검사를 지원합니다. Action.all_widgets_are_required가 true로 설정되거나 이 위젯이 Action.required_widgets에 지정된 경우 값이 선택되지 않으면 제출 작업이 차단됩니다. 예를 들어 드롭다운 메뉴나 체크박스가 있습니다. 이 위젯을 사용하여 예측하거나 열거할 수 있는 데이터를 수집할 수 있습니다. Google Chat 앱의 예시는 선택 가능한 UI 요소 추가를 참고하세요.

채팅 앱은 사용자가 선택하거나 입력하는 항목의 값을 처리할 수 있습니다. 양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요.

사용자로부터 정의되지 않거나 추상적인 데이터를 수집하려면 TextInput 위젯을 사용하세요.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

JSON 표현
{
  "name": string,
  "label": string,
  "type": enum (SelectionType),
  "items": [
    {
      object (SelectionItem)
    }
  ],
  "onChangeAction": {
    object (Action)
  },
  "multiSelectMinQueryLength": integer,
  "dataSourceConfigs": [
    {
      object (DataSourceConfig)
    }
  ],
  "multiSelectMaxSelectedItems": integer,
  "hintText": string,

  "externalDataSource": {
    object (Action)
  },
  "platformDataSource": {
    object (PlatformDataSource)
  }
}
필드
name

string

필수 항목입니다. 양식 입력 이벤트에서 선택 입력을 식별하는 이름입니다.

양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요.

label

string

사용자 인터페이스의 선택 입력란 위에 표시되는 텍스트입니다.

사용자가 앱에 필요한 정보를 입력하는 데 도움이 되는 텍스트를 지정합니다. 예를 들어 사용자가 드롭다운 메뉴에서 작업 티켓의 긴급도를 선택하는 경우 라벨은 '긴급도' 또는 '긴급도 선택'일 수 있습니다.

type

enum (SelectionType)

SelectionInput 위젯에서 사용자에게 표시되는 항목 유형입니다. 선택 유형은 다양한 유형의 상호작용을 지원합니다. 예를 들어 사용자는 체크박스를 하나 이상 선택할 수 있지만 드롭다운 메뉴에서는 하나의 값만 선택할 수 있습니다.

items[]

object (SelectionItem)

선택 가능한 항목의 배열입니다. 예를 들어 라디오 버튼 또는 체크박스 배열이 있습니다. 최대 100개의 항목을 지원합니다.

onChangeAction

object (Action)

지정된 경우 선택 항목이 변경되면 양식이 제출됩니다. 지정하지 않으면 양식을 제출하는 별도의 버튼을 지정해야 합니다.

양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요.

multiSelectMinQueryLength

integer

다중 선택 메뉴의 경우 메뉴에서 추천 선택 항목을 반환하기 전에 사용자가 입력하는 텍스트 문자 수입니다.

설정하지 않으면 다중 선택 메뉴에서 다음 기본값을 사용합니다.

  • 메뉴에서 SelectionInput 항목의 정적 배열을 사용하는 경우 기본값은 문자 0개이며 배열의 항목을 즉시 채웁니다.
  • 메뉴에서 동적 데이터 소스(multi_select_data_source)를 사용하는 경우 데이터 소스를 쿼리하여 추천 항목을 반환하기 전에 기본적으로 3자로 설정됩니다.
dataSourceConfigs[]

object (DataSourceConfig)

선택사항입니다. 선택 컨트롤의 데이터 소스 구성입니다. 이 필드는 데이터 소스를 더 세밀하게 제어할 수 있게 해줍니다.

지정된 경우 multiSelectMaxSelectedItems 필드, multiSelectMinQueryLength 필드, externalDataSource 필드, platformDataSource 필드는 무시됩니다.

Google Workspace Studio를 확장하는 Google Workspace 부가기능에 사용할 수 있습니다.

Google Chat 앱의 Dropdown widget에서 사용할 수 있습니다. Google Chat 앱의 Dropdown 위젯에는 DataSourceConfig 하나만 지원됩니다. 여러 DataSourceConfig가 설정된 경우 첫 번째 항목만 사용됩니다.

multiSelectMaxSelectedItems

integer

다중 선택 메뉴의 경우 사용자가 선택할 수 있는 최대 항목 수입니다. 최솟값은 항목 1개입니다. 지정하지 않으면 기본적으로 항목 3개입니다.

hintText

string

선택사항입니다. 사용자가 특정 값을 입력하도록 안내하여 사용자를 지원하기 위해 선택 입력란 아래에 표시되는 텍스트입니다. 이 텍스트는 항상 표시됩니다.

Google Workspace Studio를 확장하는 Google Workspace 부가기능에 사용할 수 있습니다. Google Chat 앱에서는 사용할 수 없습니다.

다중 선택 메뉴의 경우 선택 항목을 동적으로 채우는 데이터 소스입니다.

Google Chat 앱에서 사용할 수 있으며 Google Workspace 부가기능에서는 사용할 수 없습니다. 다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.

externalDataSource

object (Action)

관계형 데이터베이스와 같은 외부 데이터 소스

platformDataSource

object (PlatformDataSource)

Google Workspace의 데이터 소스입니다.

상호 배타적 필드의 끝입니다.

SelectionType

사용자가 선택할 수 있는 항목의 형식입니다. 옵션에 따라 지원되는 상호작용 유형이 다릅니다. 예를 들어 사용자는 여러 체크박스를 선택할 수 있지만 드롭다운 메뉴에서는 하나의 항목만 선택할 수 있습니다.

각 선택 입력은 한 가지 유형의 선택을 지원합니다. 예를 들어 체크박스와 스위치를 혼합하는 것은 지원되지 않습니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

열거형
CHECK_BOX 체크박스 집합입니다. 사용자는 하나 이상의 체크박스를 선택할 수 있습니다.
RADIO_BUTTON 라디오 버튼 집합입니다. 사용자는 라디오 버튼을 하나 선택할 수 있습니다.
SWITCH 스위치 집합입니다. 사용자는 하나 이상의 스위치를 사용 설정할 수 있습니다.
DROPDOWN

드롭다운 메뉴입니다. 사용자는 메뉴에서 하나의 항목을 선택할 수 있습니다.

Google Chat 앱의 경우 동적 데이터 소스를 사용하여 항목을 채우고 사용자가 메뉴에 입력할 때 항목을 자동 제안할 수 있습니다. 예를 들어 사용자가 Google Chat 스페이스의 이름을 입력하기 시작하면 위젯이 스페이스를 자동 추천합니다. 드롭다운 메뉴의 항목을 동적으로 채우려면 다음 데이터 소스 유형 중 하나를 사용하세요.

  • Google Workspace 데이터: Google Workspace 사용자 또는 Google Chat 스페이스와 같은 Google Workspace의 데이터를 사용하여 항목이 채워집니다.
  • 외부 데이터: 항목이 Google Workspace 외부의 외부 데이터 소스에서 채워집니다.

Chat 앱의 드롭다운 메뉴를 구현하는 방법의 예는 드롭다운 메뉴 추가 및 드롭다운 메뉴 동적 채우기를 참고하세요.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

MULTI_SELECT

텍스트 상자가 있는 메뉴 사용자는 하나 이상의 항목을 입력하고 선택할 수 있습니다. Google Workspace 부가기능의 경우 SelectionItem 객체의 정적 배열을 사용하여 항목을 채워야 합니다.

Google Chat 앱의 경우 동적 데이터 소스를 사용하여 항목을 채우고 사용자가 메뉴에 입력할 때 항목을 자동 추천할 수도 있습니다. 예를 들어 사용자가 Google Chat 스페이스의 이름을 입력하기 시작하면 위젯이 스페이스를 자동 추천합니다. 다중 선택 메뉴의 항목을 동적으로 채우려면 다음 데이터 소스 유형 중 하나를 사용하세요.

  • Google Workspace 데이터: 항목은 Google Workspace 사용자 또는 Google Chat 스페이스와 같은 Google Workspace의 데이터를 사용하여 채워집니다.
  • 외부 데이터: 항목이 Google Workspace 외부의 외부 데이터 소스에서 채워집니다.

Chat 앱에 다중 선택 메뉴를 구현하는 방법의 예는 다중 선택 메뉴 추가를 참고하세요.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

PlatformDataSource

다중 선택 메뉴를 사용하는 SelectionInput 위젯의 경우 Google Workspace의 데이터 소스입니다. 다중 선택 메뉴에서 항목을 채우는 데 사용됩니다.

Google Chat 앱에서 사용할 수 있으며 Google Workspace 부가기능에서는 사용할 수 없습니다.

JSON 표현
{

  "commonDataSource": enum (CommonDataSource),
  "hostAppDataSource": {
    object (HostAppDataSourceMarkup)
  }
}
필드
데이터 소스 다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.
commonDataSource

enum (CommonDataSource)

Google Workspace 조직의 사용자와 같이 모든 Google Workspace 애플리케이션에서 공유하는 데이터 소스입니다.

hostAppDataSource

object (HostAppDataSourceMarkup)

Google Chat의 스페이스와 같이 Google Workspace 호스트 애플리케이션에 고유한 데이터 소스입니다.

이 필드는 Google API 클라이언트 라이브러리를 지원하지만 Cloud 클라이언트 라이브러리에서는 사용할 수 없습니다. 자세한 내용은 클라이언트 라이브러리 설치를 참조하세요.

상호 배타적 필드의 끝입니다.

CommonDataSource

모든 Google Workspace 애플리케이션에서 공유하는 데이터 소스입니다.

Google Chat 앱에서 사용할 수 있으며 Google Workspace 부가기능에서는 사용할 수 없습니다.

열거형
UNKNOWN 기본값 사용하지 마세요.
USER Google Workspace 사용자 사용자는 Google Workspace 조직의 사용자만 보고 선택할 수 있습니다.

DataSourceConfig

위젯의 데이터 소스를 구성하는 데 도움이 되는 구성 객체입니다.

Google Workspace Studio를 확장하는 Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

JSON 표현
{

  "remoteDataSource": {
    object (Action)
  },
  "platformDataSource": {
    object (PlatformDataSource)
  }
  "minCharactersTrigger": integer
}
필드
데이터 소스 다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.
remoteDataSource

object (Action)

데이터는 원격 데이터 제공업체에서 가져옵니다.

platformDataSource

object (PlatformDataSource)

데이터가 Google Workspace 애플리케이션에서 제공됩니다.

상호 배타적 필드의 끝입니다.
minCharactersTrigger

integer

이 데이터 제공업체가 트리거되기 전에(즉, 결과를 반환하기 전에) 사용자가 입력해야 하는 최소 문자 수입니다.

DateTimePicker

사용자가 날짜, 시간 또는 날짜와 시간을 모두 입력할 수 있습니다. 양식 제출 유효성 검사를 지원합니다. Action.all_widgets_are_required가 true로 설정되거나 이 위젯이 Action.required_widgets에 지정된 경우 값이 선택되지 않으면 제출 작업이 차단됩니다. Google Chat 앱의 예는 사용자가 날짜 및 시간 선택하도록 허용을 참고하세요.

사용자는 텍스트를 입력하거나 선택 도구를 사용하여 날짜와 시간을 선택할 수 있습니다. 사용자가 잘못된 날짜나 시간을 입력하면 선택 도구에 정보를 올바르게 입력하라는 오류가 표시됩니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

JSON 표현
{
  "name": string,
  "label": string,
  "type": enum (DateTimePickerType),
  "valueMsEpoch": string,
  "timezoneOffsetDate": integer,
  "onChangeAction": {
    object (Action)
  },

  "hostAppDataSource": {
    object (HostAppDataSourceMarkup)
  }
}
필드
name

string

양식 입력 이벤트에서 DateTimePicker를 식별하는 이름입니다.

양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요.

label

string

사용자에게 날짜, 시간 또는 날짜와 시간을 입력하라는 메시지를 표시하는 텍스트입니다. 예를 들어 사용자가 약속을 예약하는 경우 Appointment date 또는 Appointment date and time와 같은 라벨을 사용합니다.

type

enum (DateTimePickerType)

위젯이 날짜, 시간 또는 날짜와 시간 입력을 지원하는지 여부입니다.

valueMsEpoch

string (int64 format)

위젯에 표시되는 기본값으로, 유닉스 시간 이후의 밀리초 단위입니다.

선택 도구 유형(DateTimePickerType)에 따라 값을 지정합니다.

  • DATE_AND_TIME: UTC의 달력 날짜 및 시간입니다. 예를 들어 2023년 1월 1일 오후 12시(UTC)를 나타내려면 1672574400000을 사용합니다.
  • DATE_ONLY: 00:00:00 UTC의 달력 날짜입니다. 예를 들어 2023년 1월 1일을 나타내려면 1672531200000을 사용합니다.
  • TIME_ONLY: UTC 시간입니다. 예를 들어 오후 12시를 나타내려면 43200000(또는 12 * 60 * 60 * 1000)를 사용합니다.
timezoneOffsetDate

integer

UTC의 시간대 오프셋을 나타내는 숫자(분)입니다. 설정하면 valueMsEpoch가 지정된 시간대로 표시됩니다. 설정하지 않으면 사용자의 시간대 설정이 기본값으로 사용됩니다.

참고: 이 필드는 분 단위이지만 사용자 상호작용 이벤트 페이로드는 일반적으로 밀리초 단위로 시간대 오프셋을 제공합니다(변환하려면 60000로 나눔).

onChangeAction

object (Action)

사용자가 DateTimePicker 인터페이스에서 저장 또는 지우기를 클릭하면 트리거됩니다.

날짜 및 시간을 나타내도록 지정된 데이터 소스입니다. 다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.
hostAppDataSource

object (HostAppDataSourceMarkup)

Gmail 이메일, Google Calendar 일정, Google Chat 채팅 메시지와 같은 Google Workspace 호스트 애플리케이션에 고유한 데이터 소스입니다.

Google Workspace Studio를 확장하는 Google Workspace 부가기능에 사용할 수 있습니다. Google Chat 앱에서는 사용할 수 없습니다.

상호 배타적 필드의 끝입니다.

DateTimePickerType

DateTimePicker 위젯의 날짜 및 시간 형식입니다. 사용자가 날짜, 시간 또는 날짜와 시간을 모두 입력할 수 있는지 결정합니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

열거형
DATE_AND_TIME 사용자가 날짜와 시간을 입력합니다.
DATE_ONLY 사용자가 날짜를 입력합니다.
TIME_ONLY 사용자가 시간을 입력합니다.

구분선

이 유형에는 필드가 없습니다.

위젯 간의 구분선을 가로선으로 표시합니다. Google Chat 앱의 예시는 위젯 사이에 가로 구분선 추가를 참고하세요.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

예를 들어 다음 JSON은 구분선을 만듭니다.

"divider": {}

그리드

항목 모음이 있는 그리드를 표시합니다. 항목에는 텍스트 또는 이미지만 포함할 수 있습니다. 반응형 열을 사용하거나 텍스트 또는 이미지 이외의 항목을 포함하려면 Columns를 사용하세요. Google Chat 앱의 예는 항목 모음이 있는 그리드 표시를 참고하세요.

그리드는 열과 항목을 제한 없이 지원합니다. 행 수는 항목을 열로 나눈 값으로 결정됩니다. 항목이 10개이고 열이 2개인 그리드에는 행이 5개 있습니다. 항목이 11개이고 열이 2개인 그리드에는 행이 6개 있습니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

예를 들어 다음 JSON은 단일 항목이 있는 2열 그리드를 만듭니다.

"grid": {
  "title": "A fine collection of items",
  "columnCount": 2,
  "borderStyle": {
    "type": "STROKE",
    "cornerRadius": 4
  },
  "items": [
    {
      "image": {
        "imageUri": "https://www.example.com/image.png",
        "cropStyle": {
          "type": "SQUARE"
        },
        "borderStyle": {
          "type": "STROKE"
        }
      },
      "title": "An item",
      "textAlignment": "CENTER"
    }
  ],
  "onClick": {
    "openLink": {
      "url": "https://www.example.com"
    }
  }
}
JSON 표현
{
  "title": string,
  "items": [
    {
      object (GridItem)
    }
  ],
  "borderStyle": {
    object (BorderStyle)
  },
  "columnCount": integer,
  "onClick": {
    object (OnClick)
  }
}
필드
title

string

그리드 헤더에 표시되는 텍스트입니다.

items[]

object (GridItem)

그리드에 표시할 항목입니다.

borderStyle

object (BorderStyle)

각 그리드 항목에 적용할 테두리 스타일입니다.

columnCount

integer

그리드에 표시할 열 수입니다. 이 필드를 지정하지 않으면 기본값이 사용되며, 이 기본값은 그리드가 표시되는 위치(대화상자 또는 컴패니언)에 따라 다릅니다.

onClick

object (OnClick)

이 콜백은 각 그리드 항목에서 재사용되지만 항목의 식별자가 콜백의 매개변수("grid_item_identifier" 키 아래)에 추가됩니다.

GridItem

그리드 레이아웃의 항목을 나타냅니다. 항목에는 텍스트, 이미지 또는 텍스트와 이미지가 모두 포함될 수 있습니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

JSON 표현
{
  "id": string,
  "image": {
    object (ImageComponent)
  },
  "title": string,
  "subtitle": string,
  "layout": enum (GridItemLayout)
}
필드
id

string

이 그리드 항목의 사용자 지정 식별자입니다. 이 식별자는 상위 그리드의 onClick 콜백 매개변수에 반환됩니다.

image

object (ImageComponent)

그리드 항목에 표시되는 이미지입니다.

title

string

그리드 항목의 제목입니다.

subtitle

string

그리드 항목의 부제목입니다.

layout

enum (GridItemLayout)

그리드 항목에 사용할 레이아웃입니다.

ImageComponent

이미지를 나타냅니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

JSON 표현
{
  "imageUri": string,
  "altText": string,
  "cropStyle": {
    object (ImageCropStyle)
  },
  "borderStyle": {
    object (BorderStyle)
  }
}
필드
imageUri

string

이미지 URL입니다.

altText

string

이미지의 접근성 라벨입니다.

cropStyle

object (ImageCropStyle)

이미지에 적용할 자르기 스타일입니다.

borderStyle

object (BorderStyle)

이미지에 적용할 테두리 스타일입니다.

ImageCropStyle

이미지에 적용된 자르기 스타일을 나타냅니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

예를 들어 16:9 가로세로 비율을 적용하는 방법은 다음과 같습니다.

cropStyle {
 "type": "RECTANGLE_CUSTOM",
 "aspectRatio": 16/9
}
JSON 표현
{
  "type": enum (ImageCropType),
  "aspectRatio": number
}
필드
type

enum (ImageCropType)

작물 유형입니다.

aspectRatio

number

자르기 유형이 RECTANGLE_CUSTOM인 경우 사용할 가로세로 비율입니다.

예를 들어 16:9 가로세로 비율을 적용하는 방법은 다음과 같습니다.

cropStyle {
 "type": "RECTANGLE_CUSTOM",
 "aspectRatio": 16/9
}

ImageCropType

이미지에 적용된 자르기 스타일을 나타냅니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

열거형
IMAGE_CROP_TYPE_UNSPECIFIED 사용하지 마세요. 지정되지 않음.
SQUARE 기본값 정사각형 자르기를 적용합니다.
CIRCLE 원형 자르기를 적용합니다.
RECTANGLE_CUSTOM 맞춤 가로세로 비율로 직사각형 자르기를 적용합니다. aspectRatio를 사용하여 맞춤 가로세로 비율을 설정합니다.
RECTANGLE_4_3 4:3 가로세로 비율의 직사각형 자르기를 적용합니다.

BorderStyle

테두리 유형 및 색상을 포함한 카드 또는 위젯 테두리의 스타일 옵션입니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

JSON 표현
{
  "type": enum (BorderType),
  "strokeColor": {
    object (Color)
  },
  "cornerRadius": integer
}
필드
type

enum (BorderType)

테두리 유형입니다.

strokeColor

object (Color)

유형이 BORDER_TYPE_STROKE일 때 사용할 색상입니다.

획 색상을 설정하려면 red, green, blue 필드의 값을 지정합니다. 값은 RGB 색상 값을 기준으로 0과 1 사이의 부동 소수점 수여야 합니다. 여기서 0(0/255)은 색상이 없음을 나타내고 1(255/255)은 색상의 최대 강도를 나타냅니다.

예를 들어 다음은 색상을 최대 강도의 빨간색으로 설정합니다.

"color": {
   "red": 1,
   "green": 0,
   "blue": 0,
}

alpha 필드는 선 색상에 사용할 수 없습니다. 지정된 경우 이 필드는 무시됩니다.

cornerRadius

integer

테두리의 모서리 반경입니다.

BorderType

위젯에 적용된 테두리 유형을 나타냅니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

열거형
BORDER_TYPE_UNSPECIFIED 사용하지 마세요. 지정되지 않음.
NO_BORDER 테두리가 없습니다.
STROKE 기본값 개요

GridItemLayout

그리드 항목에 사용할 수 있는 다양한 레이아웃 옵션을 나타냅니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

열거형
GRID_ITEM_LAYOUT_UNSPECIFIED 사용하지 마세요. 지정되지 않음.
TEXT_BELOW 제목과 부제목은 그리드 항목의 이미지 아래에 표시됩니다.
TEXT_ABOVE 제목과 부제목은 그리드 항목의 이미지 위에 표시됩니다.

열

Columns 위젯은 카드 또는 대화상자에 최대 2개의 열을 표시합니다. 각 열에 위젯을 추가할 수 있습니다. 위젯은 지정된 순서대로 표시됩니다. Google Chat 앱의 예는 열에 카드 및 대화상자 표시를 참고하세요.

각 열의 높이는 더 높은 열에 의해 결정됩니다. 예를 들어 첫 번째 열이 두 번째 열보다 높으면 두 열 모두 첫 번째 열의 높이를 갖습니다. 각 열에 포함될 수 있는 위젯의 수가 다르므로 행을 정의하거나 열 간에 위젯을 정렬할 수 없습니다.

열이 나란히 표시됩니다. HorizontalSizeStyle 필드를 사용하여 각 열의 너비를 맞춤설정할 수 있습니다. 사용자의 화면 너비가 너무 좁으면 두 번째 열이 첫 번째 열 아래로 줄바꿈됩니다.

  • 웹에서 화면 너비가 480픽셀 이하인 경우 두 번째 열이 줄바꿈됩니다.
  • iOS 기기에서는 화면 너비가 300pt 이하인 경우 두 번째 열이 줄바꿈됩니다.
  • Android 기기에서는 화면 너비가 320dp 이하인 경우 두 번째 열이 줄바꿈됩니다.

열을 3개 이상 포함하거나 행을 사용하려면 Grid 위젯을 사용하세요.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다. 열을 지원하는 부가기능 UI는 다음과 같습니다.

  • 사용자가 이메일 초안에서 부가기능을 열 때 표시되는 대화상자입니다.
  • 사용자가 Google Calendar 일정의 첨부파일 추가 메뉴에서 부가기능을 열 때 표시되는 대화상자입니다.
JSON 표현
{
  "columnItems": [
    {
      object (Column)
    }
  ]
}
필드
columnItems[]

object (Column)

열 배열입니다. 카드 또는 대화상자에 최대 2개의 열을 포함할 수 있습니다.

열

열

Google Workspace 부가기능 및 Chat 앱

JSON 표현
{
  "horizontalSizeStyle": enum (HorizontalSizeStyle),
  "horizontalAlignment": enum (HorizontalAlignment),
  "verticalAlignment": enum (VerticalAlignment),
  "widgets": [
    {
      object (Widgets)
    }
  ]
}
필드
horizontalSizeStyle

enum (HorizontalSizeStyle)

열이 카드의 너비를 채우는 방식을 지정합니다.

horizontalAlignment

enum (HorizontalAlignment)

위젯이 열의 왼쪽, 오른쪽 또는 가운데에 정렬되는지 지정합니다.

verticalAlignment

enum (VerticalAlignment)

위젯이 열의 상단, 하단 또는 중앙에 정렬되는지 지정합니다.

widgets[]

object (Widgets)

열에 포함된 위젯 배열입니다. 위젯은 지정된 순서대로 표시됩니다.

HorizontalSizeStyle

열이 카드의 너비를 채우는 방식을 지정합니다. 각 열의 너비는 HorizontalSizeStyle와 열 내 위젯의 너비에 따라 달라집니다.

Google Workspace 부가기능 및 Chat 앱

열거형
HORIZONTAL_SIZE_STYLE_UNSPECIFIED 사용하지 마세요. 지정되지 않음.
FILL_AVAILABLE_SPACE 기본값 열은 카드 너비의 최대 70% 까지 사용 가능한 공간을 채웁니다. 두 열이 모두 FILL_AVAILABLE_SPACE로 설정된 경우 각 열은 공간의 50% 를 채웁니다.
FILL_MINIMUM_SPACE 열은 가능한 최소 공간을 채우며 카드 너비의 30% 를 넘지 않습니다.

HorizontalAlignment

위젯이 열의 왼쪽, 오른쪽 또는 가운데에 정렬되는지 지정합니다.

Google Chat 앱에서 사용할 수 있으며 Google Workspace 부가기능에서는 사용할 수 없습니다.

열거형
HORIZONTAL_ALIGNMENT_UNSPECIFIED 사용하지 마세요. 지정되지 않음.
START 기본값 위젯을 열의 시작 위치에 정렬합니다. 왼쪽에서 오른쪽으로 쓰는 레이아웃의 경우 왼쪽에 정렬됩니다. 오른쪽에서 왼쪽 레이아웃의 경우 오른쪽에 정렬됩니다.
CENTER 위젯을 열의 중앙에 정렬합니다.
END 위젯을 열의 끝 위치에 정렬합니다. 왼쪽에서 오른쪽으로 레이아웃의 경우 위젯을 오른쪽에 정렬합니다. 오른쪽에서 왼쪽으로 쓰는 레이아웃의 경우 위젯을 왼쪽에 정렬합니다.

VerticalAlignment

위젯이 열의 상단, 하단 또는 중앙에 정렬되는지 지정합니다.

Google Workspace 부가기능 및 Chat 앱

열거형
VERTICAL_ALIGNMENT_UNSPECIFIED 사용하지 마세요. 지정되지 않음.
CENTER 기본값 위젯을 열의 중앙에 정렬합니다.
TOP 위젯을 열 상단에 정렬합니다.
BOTTOM 위젯을 열 하단에 정렬합니다.

위젯

열에 포함할 수 있는 지원되는 위젯입니다.

Google Workspace 부가기능 및 Chat 앱

JSON 표현
{

  "textParagraph": {
    object (TextParagraph)
  },
  "image": {
    object (Image)
  },
  "decoratedText": {
    object (DecoratedText)
  },
  "buttonList": {
    object (ButtonList)
  },
  "textInput": {
    object (TextInput)
  },
  "selectionInput": {
    object (SelectionInput)
  },
  "dateTimePicker": {
    object (DateTimePicker)
  },
  "chipList": {
    object (ChipList)
  }
}
필드
다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.
textParagraph

object (TextParagraph)

TextParagraph 위젯

image

object (Image)

Image 위젯

decoratedText

object (DecoratedText)

DecoratedText 위젯

buttonList

object (ButtonList)

ButtonList 위젯

textInput

object (TextInput)

TextInput 위젯

selectionInput

object (SelectionInput)

SelectionInput 위젯

dateTimePicker

object (DateTimePicker)

DateTimePicker 위젯

chipList

object (ChipList)

ChipList 위젯

상호 배타적 필드의 끝입니다.

ChipList

가로로 배치된 칩 목록으로, 가로로 스크롤하거나 다음 줄로 줄바꿈할 수 있습니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

JSON 표현
{
  "layout": enum (Layout),
  "chips": [
    {
      object (Chip)
    }
  ]
}
필드
layout

enum (Layout)

지정된 칩 목록 레이아웃입니다.

chips[]

object (Chip)

칩 배열입니다.

레이아웃

칩 목록 레이아웃

열거형
LAYOUT_UNSPECIFIED 사용하지 마세요. 지정되지 않음.
WRAPPED 기본값 가로 공간이 충분하지 않으면 칩 목록이 다음 줄로 줄바꿈됩니다.
HORIZONTAL_SCROLLABLE 사용 가능한 공간에 맞지 않으면 칩이 가로로 스크롤됩니다.

칩

사용자가 클릭할 수 있는 텍스트, 아이콘 또는 텍스트 및 아이콘 칩입니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

JSON 표현
{
  "icon": {
    object (Icon)
  },
  "label": string,
  "onClick": {
    object (OnClick)
  },
  "enabled": boolean,
  "disabled": boolean,
  "altText": string
}
필드
icon

object (Icon)

아이콘 이미지입니다. icon와 label가 모두 설정된 경우 아이콘이 라벨 앞에 표시됩니다.

label

string

칩 내부에 표시되는 텍스트입니다.

onClick

object (OnClick)

선택사항입니다. 사용자가 칩을 클릭할 때 실행할 작업(예: 하이퍼링크 열기 또는 맞춤 함수 실행)입니다.

enabled
(deprecated)

boolean

지원 중단됨: 대신 disabled를 사용하세요.

칩이 활성 상태이고 사용자 작업에 응답하는지 여부입니다.

disabled

boolean

칩이 비활성 상태이고 사용자 작업을 무시하는지 여부입니다. 기본값은 false입니다.

altText

string

접근성에 사용되는 대체 텍스트입니다.

사용자에게 칩의 기능을 알려주는 설명 텍스트를 설정합니다. 예를 들어 칩이 하이퍼링크를 여는 경우 '새 브라우저 탭을 열고 https://developers.google.com/workspace/chat"에서 Google Chat 개발자 문서로 이동합니다'라고 작성합니다.

CarouselCard

캐러셀 항목으로 표시할 수 있는 카드입니다. Google Chat 앱에서 사용할 수 있으며 Google Workspace 부가기능에서는 사용할 수 없습니다.

JSON 표현
{
  "widgets": [
    {
      object (NestedWidget)
    }
  ],
  "footerWidgets": [
    {
      object (NestedWidget)
    }
  ]
}
필드
widgets[]

object (NestedWidget)

캐러셀 카드에 표시되는 위젯 목록입니다. 위젯은 지정된 순서대로 표시됩니다.

footerWidgets[]

object (NestedWidget)

캐러셀 카드 하단에 표시되는 위젯 목록입니다. 위젯은 지정된 순서대로 표시됩니다.

NestedWidget

CarouselCard와 같은 포함 레이아웃에 표시할 수 있는 위젯 목록입니다. Google Chat 앱에서 사용할 수 있으며 Google Workspace 부가기능에서는 사용할 수 없습니다.

JSON 표현
{

  "textParagraph": {
    object (TextParagraph)
  },
  "buttonList": {
    object (ButtonList)
  },
  "image": {
    object (Image)
  }
}
필드
다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.
textParagraph

object (TextParagraph)

텍스트 단락 위젯입니다.

buttonList

object (ButtonList)

버튼 목록 위젯입니다.

image

object (Image)

이미지 위젯입니다.

상호 배타적 필드의 끝입니다.

공개 상태

UI 요소가 표시되는지 숨겨지는지 지정합니다.

Google Workspace Studio를 확장하는 Google Workspace 부가기능에 사용할 수 있습니다. Google Chat 앱에서는 사용할 수 없습니다.

열거형
VISIBILITY_UNSPECIFIED 지정되지 않은 공개 상태입니다. 사용하지 마세요.
VISIBLE UI 요소가 표시됩니다.
HIDDEN UI 요소가 숨겨집니다.

EventAction

UI 요소에서 실행할 수 있는 작업을 나타냅니다.

Google Workspace Studio를 확장하는 Google Workspace 부가기능에 사용할 수 있습니다. Google Chat 앱에서는 사용할 수 없습니다.

JSON 표현
{
  "actionRuleId": string,
  "postEventTriggers": [
    {
      object (Trigger)
    }
  ],

  "commonWidgetAction": {
    object (CommonWidgetAction)
  }
}
필드
actionRuleId

string

ActionRule의 고유 식별자입니다.

postEventTriggers[]

object (Trigger)

EventAction이 실행된 후 트리거되는 트리거 목록입니다.

수행할 작업입니다. 다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.
commonWidgetAction

object (CommonWidgetAction)

일반적인 위젯 작업입니다.

상호 배타적 필드의 끝입니다.

트리거

트리거를 나타냅니다.

Google Workspace Studio를 확장하는 Google Workspace 부가기능에 사용할 수 있습니다. Google Chat 앱에서는 사용할 수 없습니다.

JSON 표현
{
  "actionRuleId": string
}
필드
actionRuleId

string

ActionRule의 고유 식별자입니다.

CommonWidgetAction

위젯에 국한되지 않는 작업을 나타냅니다.

Google Workspace Studio를 확장하는 Google Workspace 부가기능에 사용할 수 있습니다. Google Chat 앱에서는 사용할 수 없습니다.

JSON 표현
{

  "updateVisibilityAction": {
    object (UpdateVisibilityAction)
  }
}
필드
수행할 작업입니다. 다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.
updateVisibilityAction

object (UpdateVisibilityAction)

위젯의 공개 상태를 업데이트하는 작업입니다.

상호 배타적 필드의 끝입니다.

UpdateVisibilityAction

위젯의 공개 상태를 업데이트하는 작업을 나타냅니다.

Google Workspace Studio를 확장하는 Google Workspace 부가기능에 사용할 수 있습니다. Google Chat 앱에서는 사용할 수 없습니다.

JSON 표현
{
  "visibility": enum (Visibility)
}
필드
visibility

enum (Visibility)

새로운 공개 상태입니다.

CollapseControl

펼치기 및 접기 컨트롤을 나타냅니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

JSON 표현
{
  "horizontalAlignment": enum (HorizontalAlignment),
  "expandButton": {
    object (Button)
  },
  "collapseButton": {
    object (Button)
  }
}
필드
horizontalAlignment

enum (HorizontalAlignment)

펼치기 및 접기 버튼의 가로 정렬입니다.

expandButton

object (Button)

선택사항입니다. 사용자 맞춤 버튼을 정의하여 섹션을 펼칩니다. expandButton 및 collapseButton 필드를 모두 설정해야 합니다. 하나의 필드 집합만 적용되지 않습니다. 이 필드를 설정하지 않으면 기본 버튼이 사용됩니다.

collapseButton

object (Button)

선택사항입니다. 섹션을 접는 사용자 맞춤 버튼을 정의합니다. expandButton 필드와 collapseButton 필드를 모두 설정해야 합니다. 하나의 필드 집합만 적용되지 않습니다. 이 필드를 설정하지 않으면 기본 버튼이 사용됩니다.

DividerStyle

카드의 구분선 스타일입니다. 현재는 카드 섹션 간의 구분선에만 사용됩니다.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

열거형
DIVIDER_STYLE_UNSPECIFIED 사용하지 마세요. 지정되지 않음.
SOLID_DIVIDER 기본 옵션입니다. 실선 구분선을 렌더링합니다.
NO_DIVIDER 설정하면 구분선이 렌더링되지 않습니다. 이 스타일은 레이아웃에서 구분선을 완전히 삭제합니다. 결과는 구분선을 전혀 추가하지 않는 것과 같습니다.

CardAction

카드 작업은 카드와 연결된 작업입니다. 예를 들어 인보이스 카드에는 인보이스 삭제, 인보이스 이메일 전송, 브라우저에서 인보이스 열기와 같은 작업이 포함될 수 있습니다.

Google Workspace 부가기능에 사용할 수 있으며 Google Chat 앱에는 사용할 수 없습니다.

JSON 표현
{
  "actionLabel": string,
  "onClick": {
    object (OnClick)
  }
}
필드
actionLabel

string

작업 메뉴 항목으로 표시되는 라벨입니다.

onClick

object (OnClick)

이 작업 항목의 onClick 작업입니다.

CardFixedFooter

카드의 하단에 표시되는 영구(고정) 바닥글입니다.

primaryButton 또는 secondaryButton를 지정하지 않고 fixedFooter를 설정하면 오류가 발생합니다.

Chat 앱의 경우 대화상자에서 고정 바닥글을 사용할 수 있지만 카드 메시지에서는 사용할 수 없습니다. Google Chat 앱의 예는 영구 바닥글 추가를 참고하세요.

Google Chat 앱 및 Google Workspace 부가기능에 사용할 수 있습니다.

JSON 표현
{
  "primaryButton": {
    object (Button)
  },
  "secondaryButton": {
    object (Button)
  }
}
필드
primaryButton

object (Button)

고정 바닥글의 기본 버튼입니다. 버튼은 텍스트와 색상이 설정된 텍스트 버튼이어야 합니다.

secondaryButton

object (Button)

고정 바닥글의 보조 버튼입니다. 버튼은 텍스트와 색상이 설정된 텍스트 버튼이어야 합니다. secondaryButton가 설정된 경우 primaryButton도 설정해야 합니다.

DisplayStyle

Google Workspace 부가기능에서 카드가 표시되는 방식을 결정합니다.

Google Workspace 부가기능에 사용할 수 있으며 Google Chat 앱에는 사용할 수 없습니다.

열거형
DISPLAY_STYLE_UNSPECIFIED 사용하지 마세요. 지정되지 않음.
PEEK 카드의 헤더가 사이드바 하단에 표시되어 스택의 현재 상단 카드를 부분적으로 가립니다. 헤더를 클릭하면 카드가 카드 스택에 표시됩니다. 카드에 헤더가 없으면 생성된 헤더가 대신 사용됩니다.
REPLACE 기본값 카드는 카드 스택의 상단 카드 보기를 대체하여 표시됩니다.

ExpressionData

표현식을 평가하는 데 사용되는 데이터를 나타냅니다.

Google Workspace Studio를 확장하는 Google Workspace 부가기능에 사용할 수 있습니다. Google Chat 앱에서는 사용할 수 없습니다.

JSON 표현
{
  "id": string,
  "expression": string,
  "conditions": [
    {
      object (Condition)
    }
  ],
  "eventActions": [
    {
      object (EventAction)
    }
  ]
}
필드
id

string

ExpressionData의 고유 식별자입니다.

expression

string

컴파일되지 않은 표현식입니다.

conditions[]

object (Condition)

표현식 평가 결과에 따라 결정되는 조건 목록입니다.

eventActions[]

object (EventAction)

ExpressionData를 사용할 수 있는 작업 목록입니다.

조건

작업을 트리거하는 데 사용할 수 있는 조건을 나타냅니다.

Google Workspace Studio를 확장하는 Google Workspace 부가기능에 사용할 수 있습니다. Google Chat 앱에서는 사용할 수 없습니다.

JSON 표현
{
  "actionRuleId": string,

  "expressionDataCondition": {
    object (ExpressionDataCondition)
  }
}
필드
actionRuleId

string

ActionRule의 고유 식별자입니다.

조건입니다. 다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.
expressionDataCondition

object (ExpressionDataCondition)

표현식 데이터에 의해 결정되는 조건입니다.

상호 배타적 필드의 끝입니다.

ExpressionDataCondition

CEL을 사용하여 평가되는 조건을 나타냅니다.

Google Workspace Studio를 확장하는 Google Workspace 부가기능에 사용할 수 있습니다. Google Chat 앱에서는 사용할 수 없습니다.

JSON 표현
{
  "conditionType": enum (ConditionType)
}
필드
conditionType

enum (ConditionType)

조건의 유형입니다.

ConditionType

조건의 유형입니다.

열거형
CONDITION_TYPE_UNSPECIFIED 지정되지 않은 조건 유형입니다.
EXPRESSION_EVALUATION_SUCCESS 표현식 평가가 성공했습니다.
EXPRESSION_EVALUATION_FAILURE 표현식 평가에 실패했습니다.