O widget ButtonList
exibe um conjunto de Button
s. Os botões podem mostrar texto, um ícone ou texto e um ícone.
Cada Button
oferece suporte a uma ação OnClick
que ocorre quando os usuários clicam no botão. Por exemplo:
- Abra um hiperlink com o
OpenLink
, como um hiperlink para a documentação do desenvolvedor do Google Chat,https://developers.google.com/chat
. - executar uma ação que executa uma função personalizada, como chamar uma API.
Para impedir que os usuários cliquem em um botão, defina "disabled": "true"
.
Para acessibilidade, os botões oferecem suporte a texto alternativo.
Exemplo 1: um botão que abre um link e um botão que executa uma função personalizada
A imagem a seguir mostra um card que consiste em um widget ButtonList
de duas Button
s. Um botão abre a documentação para desenvolvedores do Google Chat em uma nova guia. O outro botão executa uma função personalizada chamada goToView()
e transmite um parâmetro: viewType="Bird Eye View"
.

ButtonList
mostrando dois Button
s.
Este é o JSON do cartão:
JSON
{
"cardsV2": [
{
"cardId": "exampleCard",
"card": {
"sections": [
{
"widgets": [
{
"buttonList": {
"buttons": [
{
"text": "Open a hyperlink",
"onClick": {
"openLink": {
"url": "https://developers.google.com/chat",
}
}
},
{
"text": "Run a custom function",
"onClick": {
"action": {
"function": "goToView",
"parameters": [
{
"key": "viewType",
"value": "BIRD EYE VIEW",
}
],
}
}
}
]
}
}
]
}
]
}
}
]
}
Exemplo 2: um botão com cor personalizada e um botão desativado
A imagem a seguir mostra um card que consiste em um widget ButtonList
de duas Button
s. Um botão usa o campo Color
para personalizar a cor do plano de fundo dele. O outro botão é desativado com o campo Disabled
, que impede o usuário de clicar no botão e executar a função.

ButtonList
mostrando dois Button
s.
Este é o JSON do cartão:
JSON
{
"cards_v2":[
{
"card_id":"exampleCard",
"card":{
"sections":[
{
"widgets":[
{
"buttonList":{
"buttons":[
{
"text":"View documentation hyperlink",
"onClick":{
"openLink":{
"url":"https://developers.google.com/chat"
}
},
"color":{
"red":0,
"green":0,
"blue":1,
"alpha":0.5
}
},
{
"text":"Button disabled",
"onClick":{
"openLink":{
"url":"https://developers.google.com/chat"
}
},
"disabled":true
}
]
}
}
]
}
]
}
}
]
}
Exemplo 3: botões que exibem ícones
A imagem a seguir mostra um card que consiste em um widget ButtonList
com dois ícones Button
. Um botão usa o campo [knownIcon]((https://developers.google.com/chat/api/guides/message-formats/cards#builtinicons))
para exibir o ícone de e-mail integrado do Google Chat. O outro botão usa o campo iconUrl
para exibir um ícone de widget personalizado.

ButtonList
mostrando dois ícones Button
s.
Este é o JSON do cartão:
JSON
{
"cards_v2": [
{
"card_id": "exampleCard",
"card": {
"sections": [
{
"widgets": [
{
"buttonList": {
"buttons": [
{
"icon": {"knownIcon": "EMAIL",},
"onClick": {
"action": {
"function": "sendEmail",
"parameters": [
{
"key": "emailContent",
"value": "Email value",
}
],
}
}
},
{
"icon": {"iconUrl": "https://developers.google.com/chat/images/quickstart-app-avatar.png",},
"onClick": {
"action": {
"function": "inviteBot",
"parameters": [
{
"key": "botType",
"value": "Bot value",
}
],
}
}
},
]
}
}
]
}
]
}
}
]
}
Exemplo 4: botões com um ícone e um texto
A imagem a seguir mostra um card que consiste em um widget ButtonList
que solicita que o usuário envie um e-mail. O primeiro botão mostra um ícone de e-mail, e o segundo botão mostra texto. O usuário pode clicar no ícone ou no botão de texto para executar a função sendEmail
.

ButtonList
mostrando dois Button
s.
Este é o JSON do cartão:
JSON
{
"cards_v2": [
{
"card_id": "exampleCard",
"card": {
"sections": [
{
"widgets": [
{
"buttonList": {
"buttons": [
{
"icon": {"knownIcon": "EMAIL",},
"onClick": {
"action": {
"function": "sendEmail",
"parameters": [
{
"key": "emailContent",
"value": "Email value",
}
],
}
}
},
{
"text": "Send email",
"onClick": {
"action": {
"function": "sendEmail",
"parameters": [
{
"key": "sendEmailType",
"value": "email value",
}
],
}
}
},
]
}
}
]
}
]
}
}
]
}
ButtonList
representação e campos JSON
Representação JSON |
---|
{
"buttons": [
{
object (
|
Campos | |
---|---|
buttons[]
|
Uma matriz de botões. |
Button
representação e campos JSON
Representação JSON |
---|
{ "text": string, "icon": { object ( |
Campos | |
---|---|
text
|
O texto exibido no botão. |
icon
|
Imagem do ícone. Se |
color
|
Se definido, o botão será preenchido com uma cor sólida do plano de fundo, e a cor da fonte será alterada para manter o contraste com a cor do plano de fundo. Por exemplo, um fundo azul pode resultar em texto branco. Se ela não for definida, o plano de fundo da imagem será branco e a cor da fonte será azul.
Para vermelho, verde e azul, o valor de cada campo é um número Você pode definir alfa, que define um nível de transparência usando esta equação:
Para alfa, um valor de 1 corresponde a uma cor sólida, e um valor de 0 corresponde a uma cor completamente transparente. Por exemplo, a cor a seguir representa um vermelho meio transparente:
|
onClick
|
Obrigatório. A ação a ser realizada quando o botão é clicado, como abrir um hiperlink ou executar uma função personalizada. |
disabled
|
Se
|
altText
|
O texto alternativo usado para acessibilidade. Defina um texto descritivo para que os usuários saibam o que o botão faz. Por exemplo, se um botão abrir um hiperlink, você poderá escrever: "Abre uma nova guia do navegador e navega até a documentação do desenvolvedor do Google Chat em https://developers.google.com/chat" . |
Icon
Um ícone exibido em um widget em um card.
Oferece suporte a ícones integrados e personalizados .
Representação JSON |
---|
{ "altText": string, "imageType": enum ( |
Campos | |
---|---|
altText
|
Opcional. Uma descrição do ícone usado para acessibilidade. Se não for especificado, o valor padrão "Botão" será fornecido. Como prática recomendada, defina uma descrição útil para o que o ícone exibe e, se aplicável, o que ele faz. Por exemplo,
Se o ícone estiver definido em um
|
imageType
|
Estilo de corte aplicado à imagem. Em alguns casos, aplicar um
corte |
Campo de união
icons
. Ícone exibido no widget no card.
icons
pode ser apenas de um dos tipos a seguir:
|
|
knownIcon
|
Exiba um dos ícones integrados fornecidos pelo Google Workspace.
Por exemplo, para exibir um ícone de avião, especifique
Para ver uma lista completa de ícones compatíveis, consulte ícones integrados . |
iconUrl
|
Mostrar um ícone personalizado hospedado em um URL HTTPS. Exemplo:
Os tipos de arquivo aceitos incluem
|
ImageType
É a forma usada para cortar a imagem.
Enums | |
---|---|
SQUARE
|
Valor padrão. Aplica uma máscara quadrada à imagem. Por exemplo, uma imagem 4x3 se torna 3x3. |
CIRCLE
|
Aplica uma máscara circular à imagem. Por exemplo, uma imagem 4 x 3 se torna um círculo com um diâmetro de 3. |
Onclick
Representa como responder quando os usuários clicam em um elemento interativo em um card, como um botão.
Representação JSON |
---|
{ // Union field |
Campos | |
---|---|
Campo de união
|
|
action
|
Se especificada, uma ação é acionada por este
|
openLink
|
Se especificado, este
|
openDynamicLinkAction
|
Um complemento aciona essa ação quando ela precisa abrir um link. Isso é diferente do
|
card
|
Um novo cartão é enviado para a pilha de cards após o clique, se especificado. Com os complementos do Google Workspace, mas não os apps do Chat. |
Action
Uma ação que descreve o comportamento quando o formulário é enviado. Por exemplo, um Apps Script pode ser invocado para processar o formulário. Se a ação for acionada, os valores do formulário serão enviados ao servidor.
Representação JSON |
---|
{ "function": string, "parameters": [ { object ( |
Campos | |
---|---|
function
|
Uma função personalizada a ser invocada quando o elemento que contém o conteúdo for clicado ou ativado por outros motivos. Para ver exemplos de uso, consulte Criar cards interativos . |
parameters[]
|
Lista de parâmetros de ação. |
loadIndicator
|
Especifica o indicador de carregamento que a ação exibe ao fazer a chamada para a ação. |
persistValues
|
Indica se os valores do formulário persistem após a ação. O valor padrão é
Se
Se
|
interaction
|
Opcional. Obrigatório ao abrir uma caixa de diálogo . O que fazer em resposta a uma interação com o usuário, como clicar em um botão em uma mensagem de card.
Se não for especificado, o app responderá executando uma
Ao especificar um
Quando especificado, um indicador de carregamento não é mostrado. Compatível com apps de chat, mas não com complementos do Google Workspace. Se especificado para um complemento, todo o cartão será retirado, e nada será exibido no cliente. |
ActionParameter
Lista de parâmetros de string a serem fornecidos quando o método de ação for invocado. Por exemplo, considere estes três botões: adiar agora, adiar 1 dia ou adiar semana que vem. Você pode usar o método de ação = sleep(), transmitindo o tipo de adiamento e o tempo de adiamento na lista de parâmetros de string.
Para saber mais, consulte CommonEventObject .
Representação JSON |
---|
{ "key": string, "value": string } |
Campos | |
---|---|
key
|
Nome do parâmetro do script de ação. |
value
|
O valor do parâmetro. |
LoadIndicator
Especifica o indicador de carregamento que a ação exibe ao fazer a chamada para a ação.
Enums | |
---|---|
SPINNER
|
Exibe um ícone de carregamento indicando que o conteúdo está sendo carregado. |
NONE
|
Nada é exibido. |
Interaction
Opcional. Obrigatório ao abrir uma caixa de diálogo .
O que fazer em resposta a uma interação com o usuário, como clicar em um botão em uma mensagem de card.
Se não for especificado, o app responderá executando uma
action
,
como a abertura de um link ou a execução de uma função, normalmente.
Ao especificar um
interaction
,
o app pode responder de maneiras interativas especiais. Por exemplo, definindo
interaction
como
OPEN_DIALOG
, o app pode abrir uma
caixa de diálogo
.
Quando especificado, um indicador de carregamento não é mostrado.
Compatível com apps de chat, mas não com complementos do Google Workspace. Se especificado para um complemento, todo o cartão será retirado, e nada será exibido no cliente.
Enums | |
---|---|
INTERACTION_UNSPECIFIED
|
Valor padrão. O
action
é executado normalmente.
|
OPEN_DIALOG
|
Abre uma caixa de diálogo , uma interface em janelas e baseada em cards que os apps de chat usam para interagir com os usuários. Esse recurso só é compatível com apps de chat em resposta a cliques em botões nas mensagens do card. Não é compatível com os complementos do Google Workspace. Se especificado para um complemento, todo o cartão será retirado, e nada será exibido no cliente. |
OpenLink
Representa um evento
onClick
que abre um hiperlink.
Representação JSON |
---|
{ "url": string, "openAs": enum ( |
Campos | |
---|---|
url
|
O URL a ser aberto. |
openAs
|
Como abrir um link. Não há suporte para os apps de chat. |
onClose
|
Indica se o cliente esqueceu de um link depois de abri-lo ou se o observa até a janela fechar. Não há suporte para os apps de chat. |