Cards v2

Fiche

Interface sous forme de fiche affichée dans un message Google Chat ou un module complémentaire Google Workspace.

Les fiches sont compatibles avec une mise en page définie, des éléments d'interface utilisateur interactifs tels que des boutons et des contenus multimédias enrichis tels que des images. Utilisez des fiches pour présenter des informations détaillées, collecter des informations auprès des utilisateurs et les guider vers la prochaine étape.

Concevez et prévisualisez des fiches à l'aide de l'outil de création de fiches.

Ouvrir l'outil de création de cartes

Pour savoir comment créer des fiches, consultez la documentation suivante:

Remarque: Vous pouvez ajouter jusqu'à 100 widgets par fiche. Les widgets au-delà de cette limite sont ignorés. Cette limite s'applique aux messages et aux boîtes de dialogue des fiches dans les applications Google Chat, ainsi qu'aux fiches des modules complémentaires Google Workspace.

Exemple: Message de fiche pour une application Google Chat

Exemple de fiche de contact

Pour créer l'exemple de message de carte dans Google Chat, utilisez le code JSON suivant:

{
  "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"
                             }
                           ]
                         }
                       }
                     }
                   ]
                 }
               }
             ]
           }
         ]
       }
    }
  ]
}
Représentation JSON
{
  "header": {
    object (CardHeader)
  },
  "sections": [
    {
      object (Section)
    }
  ],
  "sectionDividerStyle": enum (DividerStyle),
  "cardActions": [
    {
      object (CardAction)
    }
  ],
  "name": string,
  "fixedFooter": {
    object (CardFixedFooter)
  },
  "displayStyle": enum (DisplayStyle),
  "peekCardHeader": {
    object (CardHeader)
  }
}
Champs
header

object (CardHeader)

En-tête de la fiche. Un en-tête contient généralement une image de début et un titre. Les en-têtes s'affichent toujours en haut d'une fiche.

sections[]

object (Section)

Contient une collection de widgets. Chaque section possède son propre en-tête facultatif. Les sections sont séparées visuellement par une ligne de séparation. Pour voir un exemple dans les applications Google Chat, consultez Définir une section d'une fiche.

sectionDividerStyle

enum (DividerStyle)

Style de la ligne de séparation entre l'en-tête, les sections et le pied de page.

cardActions[]

object (CardAction)

Actions de la fiche. Les actions sont ajoutées au menu de la barre d'outils de la fiche.

Disponible pour les modules complémentaires Google Workspace et indisponible pour les applications Google Chat.

Par exemple, le code JSON suivant crée un menu d'actions de carte avec les options Settings et 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

Nom de la fiche. Utilisé comme identifiant de carte dans la navigation par carte.

Disponible pour les modules complémentaires Google Workspace et indisponible pour les applications Google Chat.

displayStyle

enum (DisplayStyle)

Dans les modules complémentaires Google Workspace, définit les propriétés d'affichage de l'peekCardHeader.

Disponible pour les modules complémentaires Google Workspace et indisponible pour les applications Google Chat.

peekCardHeader

object (CardHeader)

Lorsque vous affichez du contenu contextuel, l'en-tête de la fiche Aperçu sert de place-tampon pour que l'utilisateur puisse naviguer entre les fiches de la page d'accueil et les fiches contextuelles.

Disponible pour les modules complémentaires Google Workspace et indisponible pour les applications Google Chat.

CardHeader

Représente un en-tête de fiche. Pour obtenir un exemple dans les applications Google Chat, consultez la section Ajouter un en-tête.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "title": string,
  "subtitle": string,
  "imageType": enum (ImageType),
  "imageUrl": string,
  "imageAltText": string
}
Champs
title

string

Obligatoire. Titre de l'en-tête de la fiche. La hauteur de l'en-tête est fixe: si un titre et un sous-titre sont spécifiés, chacun occupe une ligne. Si seul le titre est spécifié, il occupe les deux lignes.

subtitle

string

Sous-titre de l'en-tête de la fiche. Si spécifié, apparaît sur sa propre ligne sous title.

imageType

enum (ImageType)

Forme utilisée pour recadrer l'image.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

imageUrl

string

URL HTTPS de l'image dans l'en-tête de la fiche.

imageAltText

string

Texte alternatif de cette image utilisé pour l'accessibilité.

ImageType

Forme utilisée pour recadrer l'image.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Enums
SQUARE Valeur par défaut. Applique un masque carré à l'image. Par exemple, une image de 4 x 3 pixels devient de 3 x 3 pixels.
CIRCLE Applique un masque circulaire à l'image. Par exemple, une image de 4 x 3 pixels devient un cercle de 3 cm de diamètre.

Section

Une section contient une collection de widgets qui sont affichés verticalement dans l'ordre dans lequel ils sont spécifiés.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "header": string,
  "widgets": [
    {
      object (Widget)
    }
  ],
  "collapsible": boolean,
  "uncollapsibleWidgetsCount": integer,
  "collapseControl": {
    object (CollapseControl)
  }
}
Champs
header

string

Texte qui s'affiche en haut d'une section. Compatible avec le texte au format HTML simple. Pour en savoir plus sur la mise en forme du texte, consultez les articles Mettre en forme du texte dans les applications Google Chat et Mettre en forme du texte dans les modules complémentaires Google Workspace.

widgets[]

object (Widget)

Tous les widgets de la section. Doit contenir au moins un widget.

collapsible

boolean

Indique si cette section peut être réduite.

Les sections réductibles masquent certains ou tous les widgets, mais les utilisateurs peuvent développer la section pour afficher les widgets masqués en cliquant sur Afficher plus. Les utilisateurs peuvent à nouveau masquer les widgets en cliquant sur Afficher moins.

Pour déterminer les widgets masqués, spécifiez uncollapsibleWidgetsCount.

uncollapsibleWidgetsCount

integer

Nombre de widgets non réductibles qui restent visibles même lorsqu'une section est réduite.

Par exemple, lorsqu'une section contient cinq widgets et que uncollapsibleWidgetsCount est défini sur 2, les deux premiers widgets sont toujours affichés et les trois derniers sont réduits par défaut. uncollapsibleWidgetsCount n'est pris en compte que lorsque collapsible est défini sur true.

collapseControl

object (CollapseControl)

Facultatif. Définissez le bouton de développement et de réduction de la section. Ce bouton ne s'affiche que si la section est réductible. Si ce champ n'est pas défini, le bouton par défaut est utilisé.

Widget

Chaque fiche est composée de widgets.

Un widget est un objet composite qui peut représenter du texte, des images, des boutons et d'autres types d'objets.

Représentation JSON
{
  "horizontalAlignment": enum (HorizontalAlignment),

  // Union field data can be only one of the following:
  "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)
  }
  // End of list of possible types for union field data.
}
Champs
horizontalAlignment

enum (HorizontalAlignment)

Indique si les widgets doivent être alignés à gauche, à droite ou au centre d'une colonne.

Champ d'union data. Un widget ne peut contenir qu'un seul des éléments suivants. Vous pouvez utiliser plusieurs champs de widget pour afficher plus d'éléments. data ne peut être qu'un des éléments suivants:
textParagraph

object (TextParagraph)

Affiche un paragraphe de texte. Compatible avec le texte au format HTML simple. Pour en savoir plus sur la mise en forme du texte, consultez les articles Mettre en forme du texte dans les applications Google Chat et Mettre en forme du texte dans les modules complémentaires Google Workspace.

Par exemple, le code JSON suivant crée un texte en gras:

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

object (Image)

Affiche une image.

Par exemple, le code JSON suivant crée une image avec un texte alternatif:

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

object (DecoratedText)

Affiche un élément textuel décoré.

Par exemple, le code JSON suivant crée un widget de texte décoré affichant une adresse e-mail:

"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)

Liste des boutons.

Par exemple, le code JSON suivant crée deux boutons. Le premier est un bouton de texte bleu, et le second est un bouton image qui ouvre un lien:

"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)

Affiche une zone de texte dans laquelle les utilisateurs peuvent saisir du texte.

Par exemple, le code JSON suivant crée une zone de saisie de texte pour une adresse e-mail:

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

Par exemple, le code JSON suivant crée une entrée de texte pour un langage de programmation avec des suggestions statiques:

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

object (SelectionInput)

Affiche une commande de sélection permettant aux utilisateurs de sélectionner des éléments. Les commandes de sélection peuvent être des cases à cocher, des cases d'option, des boutons bascule ou des menus déroulants.

Par exemple, le code JSON suivant crée un menu déroulant permettant aux utilisateurs de choisir une taille:

"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)

Affiche un widget permettant aux utilisateurs de saisir une date, une heure ou une date et une heure.

Par exemple, le code JSON suivant crée un sélecteur de date et d'heure pour planifier un rendez-vous:

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

object (Divider)

Affiche une ligne horizontale de séparation entre les widgets.

Par exemple, le code JSON suivant crée un séparateur:

"divider": {
}
grid

object (Grid)

Affiche une grille avec une collection d'éléments.

Une grille peut comporter un nombre illimité de colonnes et d'éléments. Le nombre de lignes est déterminé par la limite supérieure du nombre d'articles divisé par le nombre de colonnes. Une grille de 10 éléments et de deux colonnes comporte cinq lignes. Une grille avec 11 éléments et deux colonnes comporte six lignes.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Par exemple, le code JSON suivant crée une grille à deux colonnes avec un seul élément:

"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)

Affiche jusqu'à deux colonnes.

Pour inclure plus de deux colonnes ou utiliser des lignes, utilisez le widget Grid.

Par exemple, le code JSON suivant crée deux colonnes contenant chacune des paragraphes de texte:

"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)

Un carrousel contient un ensemble de widgets imbriqués. Voici un exemple de représentation JSON d'un carrousel contenant deux paragraphes de texte.

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

object (ChipList)

Liste des chips.

Par exemple, le code JSON suivant crée deux chips. Le premier est un chip de texte, et le second est un chip d'icône qui ouvre un lien:

"chipList": {
  "chips": [
    {
      "text": "Edit",
      "disabled": true,
    },
    {
      "icon": {
        "knownIcon": "INVITE",
        "altText": "check calendar"
      },
      "onClick": {
        "openLink": {
          "url": "https://example.com/calendar"
        }
      }
    }
  ]
}

TextParagraph

Paragraphe de texte compatible avec la mise en forme. Pour obtenir un exemple dans les applications Google Chat, consultez la section Ajouter un paragraphe de texte mis en forme. Pour en savoir plus sur la mise en forme du texte, consultez Mettre en forme du texte dans les applications Google Chat et Mettre en forme du texte dans les modules complémentaires Google Workspace.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "text": string,
  "maxLines": integer
}
Champs
text

string

Texte affiché dans le widget.

maxLines

integer

Nombre maximal de lignes de texte affichées dans le widget. Si le texte dépasse le nombre maximal de lignes spécifié, le contenu excédentaire est masqué derrière un bouton Afficher plus. Si le texte est égal ou inférieur au nombre maximal de lignes spécifié, le bouton Afficher plus ne s'affiche pas.

La valeur par défaut est 0, ce qui signifie que tout le contexte est affiché. Les valeurs négatives sont ignorées.

Image

Image spécifiée par une URL et pouvant comporter une action onClick. Pour obtenir un exemple, consultez Ajouter une image.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "imageUrl": string,
  "onClick": {
    object (OnClick)
  },
  "altText": string
}
Champs
imageUrl

string

URL HTTPS qui héberge l'image.

Exemple :

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

object (OnClick)

Lorsqu'un utilisateur clique sur l'image, ce clic déclenche cette action.

altText

string

Texte alternatif de cette image utilisé pour l'accessibilité.

OnClick

Représente la réponse à donner lorsque les utilisateurs cliquent sur un élément interactif d'une fiche, tel qu'un bouton.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{

  // Union field data can be only one of the following:
  "action": {
    object (Action)
  },
  "openLink": {
    object (OpenLink)
  },
  "openDynamicLinkAction": {
    object (Action)
  },
  "card": {
    object (Card)
  },
  "overflowMenu": {
    object (OverflowMenu)
  }
  // End of list of possible types for union field data.
}
Champs

Champ d'union data.

data ne peut être qu'un des éléments suivants:

action

object (Action)

Si cet élément est spécifié, une action est déclenchée par ce onClick.

card

object (Card)

Si spécifié, une nouvelle fiche est ajoutée à la pile de cartes après le clic.

Disponible pour les modules complémentaires Google Workspace et indisponible pour les applications Google Chat.

overflowMenu

object (OverflowMenu)

Si elle est spécifiée, cette onClick ouvre un menu à développer.

Action

Action qui décrit le comportement lorsque le formulaire est envoyé. Par exemple, vous pouvez appeler un script Apps Script pour gérer le formulaire. Si l'action est déclenchée, les valeurs du formulaire sont envoyées au serveur.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "function": string,
  "parameters": [
    {
      object (ActionParameter)
    }
  ],
  "loadIndicator": enum (LoadIndicator),
  "persistValues": boolean,
  "interaction": enum (Interaction),
  "requiredWidgets": [
    string
  ],
  "allWidgetsAreRequired": boolean
}
Champs
function

string

Fonction personnalisée à appeler lorsque l'utilisateur clique sur l'élément contenant ou l'active de toute autre manière.

Pour obtenir un exemple d'utilisation, consultez la section Lire les données du formulaire.

parameters[]

object (ActionParameter)

Liste des paramètres d'action.

loadIndicator

enum (LoadIndicator)

Spécifie l'indicateur de chargement que l'action affiche lors de l'appel de l'action.

persistValues

boolean

Indique si les valeurs du formulaire persistent après l'action. La valeur par défaut est false.

Si la valeur est true, les valeurs du formulaire restent après le déclenchement de l'action. Pour permettre à l'utilisateur d'apporter des modifications pendant le traitement de l'action, définissez LoadIndicator sur NONE. Pour les messages de fiche dans les applications Chat, vous devez également définir le ResponseType de l'action sur UPDATE_MESSAGE et utiliser le même cardId de la fiche qui contenait l'action.

Si la valeur est false, les valeurs du formulaire sont effacées lorsque l'action est déclenchée. Pour empêcher l'utilisateur d'apporter des modifications pendant le traitement de l'action, définissez LoadIndicator sur SPINNER.

interaction

enum (Interaction)

Facultatif. Obligatoire lors de l'ouverture d'une boîte de dialogue.

Action à effectuer en réponse à une interaction avec un utilisateur (par exemple, lorsqu'il clique sur un bouton dans un message de fiche).

Si elle n'est pas spécifiée, l'application répond en exécutant un action (par exemple, en ouvrant un lien ou en exécutant une fonction) comme d'habitude.

En spécifiant un interaction, l'application peut répondre de manière interactive particulière. Par exemple, en définissant interaction sur OPEN_DIALOG, l'application peut ouvrir une boîte de dialogue. Si spécifié, aucun indicateur de chargement ne s'affiche. Si cette valeur est spécifiée pour un module complémentaire, la carte entière est supprimée et rien n'est affiché dans le client.

Disponible pour les applications Google Chat et indisponible pour les modules complémentaires Google Workspace.

requiredWidgets[]

string

Facultatif. Renseignez cette liste avec les noms des widgets dont cette action a besoin pour une soumission valide.

Si les widgets listés ici n'ont pas de valeur lorsque cette action est appelée, l'envoi du formulaire est interrompu.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

allWidgetsAreRequired

boolean

Facultatif. Si cette valeur est "true", tous les widgets sont considérés comme obligatoires pour cette action.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

ActionParameter

Liste des paramètres de chaîne à fournir lorsque la méthode d'action est appelée. Par exemple, considérons trois boutons de répétition: répéter maintenant, répéter un jour ou répéter la semaine prochaine. Vous pouvez utiliser action method = snooze(), en transmettant le type de rappel et la durée du rappel dans la liste des paramètres de chaîne.

Pour en savoir plus, consultez CommonEventObject.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "key": string,
  "value": string
}
Champs
key

string

Nom du paramètre du script d'action.

value

string

Valeur du paramètre.

LoadIndicator

Spécifie l'indicateur de chargement que l'action affiche lors de l'appel de l'action.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Enums
SPINNER Affiche une icône de chargement pour indiquer que le contenu est en cours de chargement.
NONE Rien ne s'affiche.

Interaction

Facultatif. Obligatoire lors de l'ouverture d'une boîte de dialogue.

Action à effectuer en réponse à une interaction avec un utilisateur (par exemple, lorsqu'il clique sur un bouton dans un message de fiche).

Si elle n'est pas spécifiée, l'application répond en exécutant un action (par exemple, en ouvrant un lien ou en exécutant une fonction) comme d'habitude.

En spécifiant un interaction, l'application peut répondre de manière interactive particulière. Par exemple, en définissant interaction sur OPEN_DIALOG, l'application peut ouvrir une boîte de dialogue.

Si spécifié, aucun indicateur de chargement ne s'affiche. Si cette valeur est spécifiée pour un module complémentaire, la carte entière est supprimée et rien n'est affiché dans le client.

Disponible pour les applications Google Chat et indisponible pour les modules complémentaires Google Workspace.

Enums
INTERACTION_UNSPECIFIED Valeur par défaut. action s'exécute normalement.
OPEN_DIALOG

Ouvre une boîte de dialogue, une interface basée sur des cartes et sur une fenêtre que les applications Chat utilisent pour interagir avec les utilisateurs.

Uniquement compatible avec les applications Chat en réponse aux clics sur les boutons des messages sous forme de fiche. Si cette valeur est spécifiée pour un module complémentaire, la carte entière est supprimée et rien n'est affiché dans le client.

Disponible pour les applications Google Chat et indisponible pour les modules complémentaires Google Workspace.

OpenAs

Lorsqu'une action OnClick ouvre un lien, le client peut l'ouvrir en tant que fenêtre pleine taille (s'il s'agit du frame utilisé par le client) ou en tant que superposition (par exemple, un pop-up). L'implémentation dépend des fonctionnalités de la plate-forme cliente. La valeur sélectionnée peut être ignorée si le client ne la prend pas en charge. FULL_SIZE est compatible avec tous les clients.

Disponible pour les modules complémentaires Google Workspace et indisponible pour les applications Google Chat.

Enums
FULL_SIZE Le lien s'ouvre dans une fenêtre pleine taille (s'il s'agit du frame utilisé par le client).
OVERLAY Le lien s'ouvre en superposition, par exemple dans un pop-up.

OnClose

Action effectuée par le client lorsqu'un lien ouvert par une action OnClick est fermé.

L'implémentation dépend des fonctionnalités de la plate-forme cliente. Par exemple, un navigateur Web peut ouvrir un lien dans une fenêtre pop-up avec un gestionnaire OnClose.

Si les gestionnaires OnOpen et OnClose sont tous deux définis et que la plate-forme cliente ne peut pas prendre en charge les deux valeurs, OnClose prévaut.

Disponible pour les modules complémentaires Google Workspace et indisponible pour les applications Google Chat.

Enums
NOTHING Valeur par défaut. La carte ne se recharge pas. Rien ne se passe.
RELOAD

Recharge la carte une fois la fenêtre enfant fermée.

Si elle est utilisée avec OpenAs.OVERLAY, la fenêtre enfant agit comme une boîte de dialogue modale et la fiche parente est bloquée jusqu'à la fermeture de la fenêtre enfant.

OverflowMenu

Widget qui présente un menu pop-up avec une ou plusieurs actions que les utilisateurs peuvent appeler. (par exemple, afficher des actions non principales dans une fiche). Vous pouvez utiliser ce widget lorsque les actions ne rentrent pas dans l'espace disponible. Pour l'utiliser, spécifiez ce widget dans l'action OnClick des widgets qui le prennent en charge. Par exemple, dans un Button.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "items": [
    {
      object (OverflowMenuItem)
    }
  ]
}
Champs
items[]

object (OverflowMenuItem)

Obligatoire. Liste des options du menu.

OverflowMenuItem

Option que les utilisateurs peuvent appeler dans un menu à développer.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "startIcon": {
    object (Icon)
  },
  "text": string,
  "onClick": {
    object (OnClick)
  },
  "disabled": boolean
}
Champs
startIcon

object (Icon)

Icône affichée devant le texte.

text

string

Obligatoire. Texte qui identifie ou décrit l'élément pour les utilisateurs.

onClick

object (OnClick)

Obligatoire. Action appelée lorsqu'une option de menu est sélectionnée. Cet élément OnClick ne peut pas contenir d'élément OverflowMenu. Tout élément OverflowMenu spécifié est supprimé et l'élément de menu est désactivé.

disabled

boolean

Indique si l'option de menu est désactivée. Valeur par défaut : "false".

Icône

Icône affichée dans un widget sur une fiche. Pour voir un exemple dans les applications Google Chat, consultez Ajouter une icône.

Compatible avec les icônes intégrées et personnalisées.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "altText": string,
  "imageType": enum (ImageType),

  // Union field icons can be only one of the following:
  "knownIcon": string,
  "iconUrl": string,
  "materialIcon": {
    object (MaterialIcon)
  }
  // End of list of possible types for union field icons.
}
Champs
altText

string

Facultatif. Description de l'icône utilisée pour l'accessibilité. Si elle n'est pas spécifiée, la valeur par défaut Button est fournie. Il est recommandé de définir une description utile de ce que l'icône affiche et, le cas échéant, de son fonctionnement. Par exemple, A user's account portrait ou Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat.

Si l'icône est définie dans un Button, le altText s'affiche sous forme de texte d'aide lorsque l'utilisateur pointe sur le bouton. Toutefois, si le bouton définit également text, l'altText de l'icône est ignoré.

imageType

enum (ImageType)

Style de recadrage appliqué à l'image. Dans certains cas, l'application d'un recadrage CIRCLE entraîne l'affichage de l'image plus grande qu'une icône intégrée.

Champ d'union icons. Icône affichée dans le widget de la fiche. icons ne peut être qu'un des éléments suivants:
knownIcon

string

Afficher l'une des icônes intégrées fournies par Google Workspace

Par exemple, pour afficher une icône en forme d'avion, spécifiez AIRPLANE. Pour un bus, spécifiez BUS.

Pour obtenir la liste complète des icônes compatibles, consultez les icônes intégrées.

iconUrl

string

Afficher une icône personnalisée hébergée sur une URL HTTPS

Exemple :

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

Les types de fichiers acceptés sont .png et .jpg.

materialIcon

object (MaterialIcon)

Affichez l'une des icônes Google Material.

Par exemple, pour afficher une icône de case à cocher, utilisez

"materialIcon": {
  "name": "check_box"
}

Disponible pour les applications Google Chat et indisponible pour les modules complémentaires Google Workspace.

MaterialIcon

Une icône Material de Google, qui comprend plus de 2 500 options.

Par exemple, pour afficher une icône de case à cocher avec une pondération et une note personnalisées, écrivez ce qui suit:

{
  "name": "check_box",
  "fill": true,
  "weight": 300,
  "grade": -25
}

Disponible pour les applications Google Chat et indisponible pour les modules complémentaires Google Workspace.

Représentation JSON
{
  "name": string,
  "fill": boolean,
  "weight": integer,
  "grade": integer
}
Champs
name

string

Nom de l'icône défini dans l'icône Google Material, par exemple check_box. Les noms non valides sont abandonnés et remplacés par une chaîne vide. L'icône ne s'affiche alors pas.

fill

boolean

Indique si l'icône est remplie. La valeur par défaut est Faux (false).

Pour prévisualiser différents paramètres d'icône, accédez à Icônes de police Google et ajustez les paramètres sous Personnaliser.

weight

integer

Épaisseur du trait de l'icône. Choisissez parmi les valeurs {100, 200, 300, 400, 500, 600, 700}. Si elle est absente, la valeur par défaut est 400. Si une autre valeur est spécifiée, la valeur par défaut est utilisée.

Pour prévisualiser différents paramètres d'icône, accédez à Icônes de police Google et ajustez les paramètres sous Personnaliser.

grade

integer

L'épaisseur et le niveau ont une incidence sur l'épaisseur d'un symbole. Les ajustements de l'épaisseur sont plus précis que ceux de l'épaisseur et ont un faible impact sur la taille du symbole. Choisissez parmi {-25, 0, 200}. Si elle est absente, la valeur par défaut est 0. Si une autre valeur est spécifiée, la valeur par défaut est utilisée.

Pour prévisualiser différents paramètres d'icône, accédez à Icônes de police Google et ajustez les paramètres sous Personnaliser.

DecoratedText

Widget qui affiche du texte avec des décorations facultatives, telles qu'un libellé au-dessus ou en dessous du texte, une icône devant le texte, un widget de sélection ou un bouton après le texte. Pour obtenir un exemple dans les applications Google Chat, consultez Afficher du texte avec du texte décoratif.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "icon": {
    object (Icon)
  },
  "startIcon": {
    object (Icon)
  },
  "topLabel": string,
  "text": string,
  "wrapText": boolean,
  "bottomLabel": string,
  "onClick": {
    object (OnClick)
  },

  // Union field control can be only one of the following:
  "button": {
    object (Button)
  },
  "switchControl": {
    object (SwitchControl)
  },
  "endIcon": {
    object (Icon)
  }
  // End of list of possible types for union field control.
}
Champs
icon
(deprecated)

object (Icon)

Abandonné au profit de startIcon.

startIcon

object (Icon)

Icône affichée devant le texte.

topLabel

string

Texte qui s'affiche au-dessus de text. Toujours tronqué.

text

string

Obligatoire. Texte principal.

Compatible avec la mise en forme simple. Pour en savoir plus sur la mise en forme du texte, consultez les articles Mettre en forme du texte dans les applications Google Chat et Mettre en forme du texte dans les modules complémentaires Google Workspace.

wrapText

boolean

Paramètre de retour à la ligne. Si la valeur est true, le texte se scinde et s'affiche sur plusieurs lignes. Sinon, le texte est tronqué.

S'applique uniquement à text, et non à topLabel et bottomLabel.

bottomLabel

string

Texte qui s'affiche sous text. Toujours mise en forme.

onClick

object (OnClick)

Cette action est déclenchée lorsque les utilisateurs cliquent sur topLabel ou bottomLabel.

Champ d'union control. Bouton, bouton d'activation/de désactivation, case à cocher ou image qui s'affiche à droite du texte dans le widget decoratedText. control ne peut être qu'un des éléments suivants:
button

object (Button)

Bouton sur lequel un utilisateur peut cliquer pour déclencher une action.

switchControl

object (SwitchControl)

Widget de bouton bascule sur lequel un utilisateur peut cliquer pour modifier son état et déclencher une action.

endIcon

object (Icon)

Icône affichée après le texte.

Compatible avec les icônes intégrées et personnalisées.

Bouton

Bouton de texte, d'icône ou de texte et d'icône sur lequel les utilisateurs peuvent cliquer. Pour obtenir un exemple dans les applications Google Chat, consultez la section Ajouter un bouton.

Pour transformer une image en bouton cliquable, spécifiez un Image (et non un ImageComponent) et définissez une action onClick.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "text": string,
  "icon": {
    object (Icon)
  },
  "color": {
    object (Color)
  },
  "onClick": {
    object (OnClick)
  },
  "disabled": boolean,
  "altText": string,
  "type": enum (Type)
}
Champs
text

string

Texte affiché dans le bouton.

icon

object (Icon)

Icône affichée dans le bouton. Si les valeurs icon et text sont définies, l'icône s'affiche avant le texte.

color

object (Color)

Facultatif. Couleur du bouton. Si elle est définie, le bouton type est défini sur FILLED, et la couleur des champs text et icon est définie sur une couleur contrastante pour une meilleure lisibilité. Par exemple, si la couleur du bouton est définie sur bleu, le texte ou les icônes du bouton sont définis sur blanc.

Pour définir la couleur du bouton, spécifiez une valeur pour les champs red, green et blue. La valeur doit être un nombre à virgule flottante compris entre 0 et 1, en fonction de la valeur de couleur RVB, où 0 (0/255) représente l'absence de couleur et 1 (255/255) représente l'intensité maximale de la couleur.

Par exemple, l'exemple suivant définit la couleur rouge à son intensité maximale:

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

Le champ alpha n'est pas disponible pour la couleur du bouton. Si elle est spécifiée, ce champ est ignoré.

onClick

object (OnClick)

Obligatoire. Action à effectuer lorsqu'un utilisateur clique sur le bouton, par exemple ouvrir un lien hypertexte ou exécuter une fonction personnalisée.

disabled

boolean

Si la valeur est true, le bouton s'affiche dans un état inactif et ne répond pas aux actions de l'utilisateur.

altText

string

Texte de substitution utilisé pour l'accessibilité.

Définissez un texte descriptif qui indique aux utilisateurs la fonction du bouton. Par exemple, si un bouton ouvre un lien hypertexte, vous pouvez écrire: "Ouvre un nouvel onglet du navigateur et accède à la documentation destinée aux développeurs Google Chat sur la page https://developers.google.com/workspace/chat".

type

enum (Type)

Facultatif. Type de bouton. Si cette valeur n'est pas définie, le type de bouton est défini par défaut sur OUTLINED. Si le champ color est défini, le type de bouton est forcé sur FILLED et toute valeur définie pour ce champ est ignorée.

Couleur

Représente une couleur dans l'espace colorimétrique RVBA. Cette représentation est conçue pour faciliter la conversion entre les représentations de couleurs dans différentes langues plutôt que d'être compacte. Par exemple, les champs de cette représentation peuvent être facilement fournis au constructeur de java.awt.Color en Java. Ils peuvent également être facilement fournis à la méthode +colorWithRed:green:blue:alpha de UIColor sur iOS. De plus, avec un peu de travail, ils peuvent être facilement mis en forme dans une chaîne rgba() CSS en JavaScript.

Cette page de référence ne contient pas d'informations sur l'espace colorimétrique absolu à utiliser pour interpréter la valeur RVB (par exemple, sRVB, Adobe RVB, DCI-P3 et BT.2020). Par défaut, les applications doivent partir du principe qu'il s'agit de l'espace colorimétrique sRVB.

Lorsqu'il faut déterminer l'égalité des couleurs, les implémentations, sauf indication contraire dans la documentation, considèrent deux couleurs comme égales si toutes leurs valeurs de rouge, de vert, de bleu et d'alpha diffèrent chacune d'au plus 1e-5.

Exemple (Java) :

 import com.google.type.Color;

 // ...
 public static java.awt.Color fromProto(Color protocolor) {
   float alpha = protocolor.hasAlpha()
       ? protocolor.getAlpha().getValue()
       : 1.0;

   return new java.awt.Color(
       protocolor.getRed(),
       protocolor.getGreen(),
       protocolor.getBlue(),
       alpha);
 }

 public static Color toProto(java.awt.Color color) {
   float red = (float) color.getRed();
   float green = (float) color.getGreen();
   float blue = (float) color.getBlue();
   float denominator = 255.0;
   Color.Builder resultBuilder =
       Color
           .newBuilder()
           .setRed(red / denominator)
           .setGreen(green / denominator)
           .setBlue(blue / denominator);
   int alpha = color.getAlpha();
   if (alpha != 255) {
     result.setAlpha(
         FloatValue
             .newBuilder()
             .setValue(((float) alpha) / denominator)
             .build());
   }
   return resultBuilder.build();
 }
 // ...

Exemple (iOS/Obj-C) :

 // ...
 static UIColor* fromProto(Color* protocolor) {
    float red = [protocolor red];
    float green = [protocolor green];
    float blue = [protocolor blue];
    FloatValue* alpha_wrapper = [protocolor alpha];
    float alpha = 1.0;
    if (alpha_wrapper != nil) {
      alpha = [alpha_wrapper value];
    }
    return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
 }

 static Color* toProto(UIColor* color) {
     CGFloat red, green, blue, alpha;
     if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
       return nil;
     }
     Color* result = [[Color alloc] init];
     [result setRed:red];
     [result setGreen:green];
     [result setBlue:blue];
     if (alpha <= 0.9999) {
       [result setAlpha:floatWrapperWithValue(alpha)];
     }
     [result autorelease];
     return result;
}
// ...

Exemple (JavaScript) :

// ...

var protoToCssColor = function(rgb_color) {
   var redFrac = rgb_color.red || 0.0;
   var greenFrac = rgb_color.green || 0.0;
   var blueFrac = rgb_color.blue || 0.0;
   var red = Math.floor(redFrac * 255);
   var green = Math.floor(greenFrac * 255);
   var blue = Math.floor(blueFrac * 255);

   if (!('alpha' in rgb_color)) {
      return rgbToCssColor(red, green, blue);
   }

   var alphaFrac = rgb_color.alpha.value || 0.0;
   var rgbParams = [red, green, blue].join(',');
   return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
};

var rgbToCssColor = function(red, green, blue) {
  var rgbNumber = new Number((red << 16) | (green << 8) | blue);
  var hexString = rgbNumber.toString(16);
  var missingZeros = 6 - hexString.length;
  var resultBuilder = ['#'];
  for (var i = 0; i < missingZeros; i++) {
     resultBuilder.push('0');
  }
  resultBuilder.push(hexString);
  return resultBuilder.join('');
};

// ...
Représentation JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Champs
red

number

Quantité de rouge dans la couleur en tant que valeur dans l'intervalle [0, 1].

green

number

Quantité de vert dans la couleur en tant que valeur dans l'intervalle [0, 1].

blue

number

Quantité de bleu dans la couleur en tant que valeur dans l'intervalle [0, 1].

alpha

number

Fraction de cette couleur à appliquer au pixel. En d'autres termes, la couleur finale du pixel est définie par l'équation :

pixel color = alpha * (this color) + (1.0 - alpha) * (background color)

Cela signifie qu'une valeur de 1,0 correspond à une couleur solide, tandis qu'une valeur de 0,0 correspond à une couleur complètement transparente. Un message wrapper est utilisé à la place d'une simple valeur scalaire flottante afin qu'il soit possible de distinguer une valeur par défaut de la valeur non définie. En cas d'omission, cet objet de couleur est affiché en tant que couleur solide (comme si la valeur alpha avait été explicitement fournie avec une valeur de 1,0).

Type

Facultatif. Type d'un bouton. Si le champ color est défini, type est forcé sur FILLED.

Disponible pour les applications Google Chat et indisponible pour les modules complémentaires Google Workspace.

Enums
TYPE_UNSPECIFIED Ne pas utiliser. Non spécifié.
OUTLINED Les boutons avec contours sont des boutons à accentuation moyenne. Ils contiennent généralement des actions importantes, mais qui ne sont pas l'action principale dans une application Chat ou un module complémentaire.
FILLED Un bouton rempli comporte un conteneur de couleur unie. Il a le plus d'impact visuel et est recommandé pour l'action principale et importante d'une application Chat ou d'un module complémentaire.
FILLED_TONAL Un bouton tonal rempli est un compromis entre les boutons remplis et ceux avec contour. Ils sont utiles dans les contextes où un bouton de priorité inférieure nécessite une accentuation légèrement plus forte que celle d'un bouton en contour.
BORDERLESS Un bouton ne comporte pas de conteneur invisible dans son état par défaut. Il est souvent utilisé pour les actions de priorité la plus faible, en particulier lorsque plusieurs options sont présentées.

SwitchControl

Un bouton d'activation/de désactivation ou une case à cocher dans un widget decoratedText.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Compatible uniquement avec le widget decoratedText.

Représentation JSON
{
  "name": string,
  "value": string,
  "selected": boolean,
  "onChangeAction": {
    object (Action)
  },
  "controlType": enum (ControlType)
}
Champs
name

string

Nom par lequel le widget de bouton bascule est identifié dans un événement d'entrée de formulaire.

Pour en savoir plus sur l'utilisation des entrées de formulaire, consultez la section Recevoir des données de formulaire.

value

string

Valeur saisie par un utilisateur, renvoyée dans le cadre d'un événement de saisie de formulaire.

Pour en savoir plus sur l'utilisation des entrées de formulaire, consultez la section Recevoir des données de formulaire.

selected

boolean

Lorsque true, le bouton bascule est sélectionné.

onChangeAction

object (Action)

Action à effectuer lorsque l'état du bouton est modifié, par exemple la fonction à exécuter.

controlType

enum (ControlType)

Affichage du bouton dans l'interface utilisateur

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

ControlType

Affichage du bouton dans l'interface utilisateur

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Enums
SWITCH Bouton bascule
CHECKBOX Abandonné au profit de CHECK_BOX.
CHECK_BOX Case à cocher.

ButtonList

Liste de boutons disposés horizontalement. Pour obtenir un exemple dans les applications Google Chat, consultez la section Ajouter un bouton.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "buttons": [
    {
      object (Button)
    }
  ]
}
Champs
buttons[]

object (Button)

Tableau de boutons.

TextInput

Champ dans lequel les utilisateurs peuvent saisir du texte. Compatible avec les suggestions et les actions en cas de modification. Prend en charge la validation de l'envoi de formulaires. Lorsque Action.all_widgets_are_required est défini sur true ou que ce widget est spécifié dans Action.required_widgets, l'action d'envoi est bloquée, sauf si une valeur est saisie. Pour obtenir un exemple dans les applications Google Chat, consultez la section Ajouter un champ dans lequel un utilisateur peut saisir du texte.

Les applications Chat reçoivent et peuvent traiter la valeur du texte saisi lors des événements d'entrée de formulaire. Pour en savoir plus sur l'utilisation des entrées de formulaire, consultez la section Recevoir des données de formulaire.

Lorsque vous devez collecter des données indéfinies ou abstraites auprès des utilisateurs, utilisez une zone de saisie de texte. Pour collecter des données définies ou énumérées auprès des utilisateurs, utilisez le widget SelectionInput.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation 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
}
Champs
name

string

Nom par lequel la saisie de texte est identifiée dans un événement de saisie de formulaire.

Pour en savoir plus sur l'utilisation des entrées de formulaire, consultez la section Recevoir des données de formulaire.

label

string

Texte qui s'affiche au-dessus du champ de saisie de texte dans l'interface utilisateur.

Spécifiez un texte qui aide l'utilisateur à saisir les informations dont votre application a besoin. Par exemple, si vous demandez le nom d'une personne, mais que vous avez spécifiquement besoin de son nom de famille, écrivez surname au lieu de name.

Obligatoire si hintText n'est pas spécifié. Sinon, facultatif.

hintText

string

Texte qui s'affiche sous le champ de saisie de texte pour aider les utilisateurs à saisir une valeur spécifique. Ce texte est toujours visible.

Obligatoire si label n'est pas spécifié. Sinon, facultatif.

value

string

Valeur saisie par un utilisateur, renvoyée dans le cadre d'un événement de saisie de formulaire.

Pour en savoir plus sur l'utilisation des entrées de formulaire, consultez la section Recevoir des données de formulaire.

type

enum (Type)

Affichage d'un champ de saisie de texte dans l'interface utilisateur. Par exemple, si le champ est à une ou plusieurs lignes.

onChangeAction

object (Action)

Que faire lorsqu'un changement se produit dans le champ de saisie de texte ? Par exemple, un utilisateur ajoute du texte dans le champ ou en supprime.

Par exemple, vous pouvez exécuter une fonction personnalisée ou ouvrir une boîte de dialogue dans Google Chat.

initialSuggestions

object (Suggestions)

Valeurs suggérées que les utilisateurs peuvent saisir. Ces valeurs s'affichent lorsque les utilisateurs cliquent dans le champ de saisie de texte. À mesure que les utilisateurs saisissent du texte, les valeurs suggérées sont filtrées de manière dynamique pour correspondre à ce qu'ils ont saisi.

Par exemple, un champ de saisie de texte pour un langage de programmation peut suggérer Java, JavaScript, Python et C++. Lorsque les utilisateurs commencent à saisir Jav, la liste des suggestions se filtre pour n'afficher que Java et JavaScript.

Les valeurs suggérées aident les utilisateurs à saisir des valeurs que votre application peut interpréter. Lorsqu'ils font référence à JavaScript, certains utilisateurs peuvent saisir javascript et d'autres java script. En suggérant des JavaScript, vous pouvez standardiser la façon dont les utilisateurs interagissent avec votre application.

Lorsqu'il est spécifié, TextInput.type est toujours SINGLE_LINE, même s'il est défini sur MULTIPLE_LINE.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

autoCompleteAction

object (Action)

Facultatif. Spécifiez l'action à effectuer lorsque le champ de saisie de texte fournit des suggestions aux utilisateurs qui interagissent avec lui.

Si cette valeur n'est pas spécifiée, les suggestions sont définies par initialSuggestions et traitées par le client.

Si elle est spécifiée, l'application effectue l'action indiquée ici, par exemple exécuter une fonction personnalisée.

Disponible pour les modules complémentaires Google Workspace et indisponible pour les applications Google Chat.

validation

object (Validation)

Spécifiez la validation du format d'entrée nécessaire pour ce champ de texte.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

placeholderText

string

Texte qui s'affiche dans le champ de saisie de texte lorsqu'il est vide. Utilisez ce texte pour inviter les utilisateurs à saisir une valeur. Exemple : Enter a number from 0 to 100.

Disponible pour les applications Google Chat et indisponible pour les modules complémentaires Google Workspace.

Type

Affichage d'un champ de saisie de texte dans l'interface utilisateur. Par exemple, s'il s'agit d'un champ de saisie sur une seule ligne ou de plusieurs lignes. Si initialSuggestions est spécifié, type est toujours SINGLE_LINE, même s'il est défini sur MULTIPLE_LINE.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Enums
SINGLE_LINE Le champ de saisie de texte a une hauteur fixe d'une ligne.
MULTIPLE_LINE Le champ de saisie de texte a une hauteur fixe de plusieurs lignes.

RenderActions

Ensemble d'instructions de rendu qui indique à une fiche d'effectuer une action ou à l'application hôte du module complémentaire ou à l'application Chat d'effectuer une action spécifique à l'application.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Champs
action

Action

Action

Champs
navigations[]

Navigation

Affiche, affiche ou met à jour une fiche.

Version Preview développeur: Modules complémentaires dans Google Chat.

Ajouter une fiche à la pile (parcourir vers l'avant) Pour les applications Chat, uniquement disponible pour la page d'accueil de l'application.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

navigations: {
  pushCard: CARD
}

Remplacez la carte du dessus par une nouvelle. Pour les applications Chat, uniquement disponible pour la page d'accueil de l'application.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

navigations: {
  updateCard: CARD
}

Suggestions

Valeurs suggérées que les utilisateurs peuvent saisir. Ces valeurs s'affichent lorsque les utilisateurs cliquent dans le champ de saisie de texte. À mesure que les utilisateurs saisissent du texte, les valeurs suggérées sont filtrées de manière dynamique pour correspondre à ce qu'ils ont saisi.

Par exemple, un champ de saisie de texte pour un langage de programmation peut suggérer Java, JavaScript, Python et C++. Lorsque les utilisateurs commencent à saisir Jav, la liste des suggestions se filtre pour afficher Java et JavaScript.

Les valeurs suggérées aident les utilisateurs à saisir des valeurs que votre application peut interpréter. Lorsqu'ils font référence à JavaScript, certains utilisateurs peuvent saisir javascript et d'autres java script. Suggérer des JavaScript peut standardiser la façon dont les utilisateurs interagissent avec votre application.

Lorsqu'il est spécifié, TextInput.type est toujours SINGLE_LINE, même s'il est défini sur MULTIPLE_LINE.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "items": [
    {
      object (SuggestionItem)
    }
  ]
}
Champs
items[]

object (SuggestionItem)

Liste de suggestions utilisées pour les recommandations de saisie semi-automatique dans les champs de saisie de texte.

SuggestionItem

Valeur suggérée que les utilisateurs peuvent saisir dans un champ de saisie de texte.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{

  // Union field content can be only one of the following:
  "text": string
  // End of list of possible types for union field content.
}
Champs

Champ d'union content.

content ne peut être qu'un des éléments suivants:

text

string

Valeur d'une suggestion d'entrée dans un champ de saisie de texte. Il s'agit de ce que les utilisateurs saisissent eux-mêmes.

Validation

Représente les données nécessaires pour valider le widget auquel il est associé.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "characterLimit": integer,
  "inputType": enum (InputType)
}
Champs
characterLimit

integer

Spécifiez la limite de caractères pour les widgets de saisie de texte. Notez que cette option n'est utilisée que pour la saisie de texte et est ignorée pour les autres widgets.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

inputType

enum (InputType)

Spécifiez le type des widgets de saisie.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

InputType

Type du widget de saisie.

Enums
INPUT_TYPE_UNSPECIFIED Type non spécifié. Ne pas utiliser.
TEXT Texte standard qui accepte tous les caractères.
INTEGER Valeur entière.
FLOAT Valeur flottante.
EMAIL Adresse e-mail
EMOJI_PICKER Emoji sélectionné dans le sélecteur d'emoji fourni par le système.

SelectionInput

Widget qui crée un ou plusieurs éléments d'interface utilisateur que les utilisateurs peuvent sélectionner. Compatible avec la validation de l'envoi de formulaires pour les menus dropdown et multiselect uniquement. Lorsque Action.all_widgets_are_required est défini sur true ou que ce widget est spécifié dans Action.required_widgets, l'action d'envoi est bloquée, sauf si une valeur est sélectionnée. Par exemple, un menu déroulant ou des cases à cocher. Vous pouvez utiliser ce widget pour collecter des données pouvant être prédites ou énumérées. Pour obtenir un exemple dans les applications Google Chat, consultez Ajouter des éléments d'interface utilisateur sélectionnables.

Les applications de chat peuvent traiter la valeur des éléments que les utilisateurs sélectionnent ou saisissent. Pour en savoir plus sur l'utilisation des entrées de formulaire, consultez la section Recevoir des données de formulaire.

Pour collecter des données indéfinies ou abstraites auprès des utilisateurs, utilisez le widget TextInput.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "name": string,
  "label": string,
  "type": enum (SelectionType),
  "items": [
    {
      object (SelectionItem)
    }
  ],
  "onChangeAction": {
    object (Action)
  },
  "multiSelectMaxSelectedItems": integer,
  "multiSelectMinQueryLength": integer,

  // Union field multi_select_data_source can be only one of the following:
  "externalDataSource": {
    object (Action)
  },
  "platformDataSource": {
    object (PlatformDataSource)
  }
  // End of list of possible types for union field multi_select_data_source.
}
Champs
name

string

Obligatoire. Nom qui identifie la sélection dans un événement d'entrée de formulaire.

Pour en savoir plus sur l'utilisation des entrées de formulaire, consultez la section Recevoir des données de formulaire.

label

string

Texte qui s'affiche au-dessus du champ de saisie de sélection dans l'interface utilisateur.

Spécifiez un texte qui aide l'utilisateur à saisir les informations dont votre application a besoin. Par exemple, si les utilisateurs sélectionnent l'urgence d'une demande de service dans un menu déroulant, le libellé peut être "Urgence" ou "Sélectionner l'urgence".

type

enum (SelectionType)

Type d'éléments présentés aux utilisateurs dans un widget SelectionInput. Les types de sélection sont compatibles avec différents types d'interactions. Par exemple, les utilisateurs peuvent cocher une ou plusieurs cases, mais ils ne peuvent sélectionner qu'une seule valeur dans un menu déroulant.

items[]

object (SelectionItem)

Tableau d'éléments sélectionnables. Par exemple, un tableau de boutons d'option ou de cases à cocher. Accepte jusqu'à 100 éléments.

onChangeAction

object (Action)

Si elle est spécifiée, le formulaire est envoyé lorsque la sélection change. Si ce n'est pas le cas, vous devez spécifier un bouton distinct qui envoie le formulaire.

Pour en savoir plus sur l'utilisation des entrées de formulaire, consultez la section Recevoir des données de formulaire.

multiSelectMaxSelectedItems

integer

Pour les menus à sélection multiple, nombre maximal d'éléments qu'un utilisateur peut sélectionner. La valeur minimale est de 1 article. Si aucune valeur n'est spécifiée, la valeur par défaut est de trois éléments.

multiSelectMinQueryLength

integer

Pour les menus à sélection multiple, nombre de caractères de texte saisis par l'utilisateur avant que le menu ne renvoie des suggestions d'éléments de sélection.

Si elle n'est pas définie, le menu à sélection multiple utilise les valeurs par défaut suivantes:

  • Si le menu utilise un tableau statique d'éléments SelectionInput, la valeur par défaut est de 0 caractères et les éléments du tableau sont immédiatement renseignés.
  • Si le menu utilise une source de données dynamique (multi_select_data_source), trois caractères sont définis par défaut avant d'interroger la source de données pour renvoyer des suggestions d'éléments.

Champ d'union multi_select_data_source. Pour un menu à sélection multiple, une source de données qui renseigne dynamiquement les éléments de sélection.

Disponible pour les applications Google Chat et indisponible pour les modules complémentaires Google Workspace. multi_select_data_source ne peut être qu'un des éléments suivants:

externalDataSource

object (Action)

Une source de données externe, telle qu'une base de données relationnelle.

platformDataSource

object (PlatformDataSource)

Une source de données Google Workspace.

SelectionType

Format des éléments que les utilisateurs peuvent sélectionner. Différentes options sont compatibles avec différents types d'interactions. Par exemple, les utilisateurs peuvent cocher plusieurs cases, mais ne peuvent sélectionner qu'un seul élément dans un menu déroulant.

Chaque entrée de sélection accepte un type de sélection. Il n'est pas possible, par exemple, de mélanger des cases à cocher et des boutons d'activation/de désactivation.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Enums
CHECK_BOX Ensemble de cases à cocher. Les utilisateurs peuvent cocher une ou plusieurs cases.
RADIO_BUTTON Ensemble de cases d'option. Les utilisateurs peuvent sélectionner une seule case d'option.
SWITCH Ensemble d'interrupteurs. Les utilisateurs peuvent activer un ou plusieurs boutons.
DROPDOWN Un menu déroulant. Les utilisateurs peuvent sélectionner un élément dans le menu.
MULTI_SELECT

Menu avec une zone de texte. Les utilisateurs peuvent saisir du texte et sélectionner un ou plusieurs éléments. Pour les modules complémentaires Google Workspace, vous devez renseigner les éléments à l'aide d'un tableau statique d'objets SelectionItem.

Pour les applications Google Chat, vous pouvez également renseigner des éléments à l'aide d'une source de données dynamique et suggérer automatiquement des éléments lorsque les utilisateurs saisissent du texte dans le menu. Par exemple, les utilisateurs peuvent commencer à saisir le nom d'un espace Google Chat, et le widget leur suggère automatiquement l'espace. Pour renseigner dynamiquement les éléments d'un menu à sélection multiple, utilisez l'un des types de sources de données suivants:

  • Données Google Workspace: les éléments sont renseignés à l'aide de données Google Workspace, telles que les utilisateurs Google Workspace ou les espaces Google Chat.
  • Données externes: les éléments sont renseignés à partir d'une source de données externe à Google Workspace.

Pour découvrir comment implémenter des menus à sélection multiple pour les applications Chat, consultez la section Ajouter un menu à sélection multiple.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

SelectionItem

Élément que les utilisateurs peuvent sélectionner dans une entrée de sélection, comme une case à cocher ou un bouton. Accepte jusqu'à 100 éléments.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "text": string,
  "value": string,
  "selected": boolean,
  "startIconUri": string,
  "bottomText": string
}
Champs
text

string

Texte qui identifie ou décrit l'élément pour les utilisateurs.

value

string

Valeur associée à cet élément. Le client doit l'utiliser comme valeur d'entrée de formulaire.

Pour en savoir plus sur l'utilisation des entrées de formulaire, consultez la section Recevoir des données de formulaire.

selected

boolean

Indique si l'élément est sélectionné par défaut. Si la zone de saisie de sélection n'accepte qu'une seule valeur (par exemple, pour les cases d'option ou un menu déroulant), ne définissez ce champ que pour un seul élément.

startIconUri

string

Pour les menus à sélection multiple, URL de l'icône affichée à côté du champ text de l'élément. Compatible avec les fichiers PNG et JPEG. Doit être une URL HTTPS. Par exemple, https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png.

bottomText

string

Pour les menus à sélection multiple, description ou libellé textuel affiché sous le champ text de l'élément.

PlatformDataSource

Pour un widget SelectionInput qui utilise un menu à sélection multiple, une source de données Google Workspace. Permet de renseigner les éléments d'un menu à sélection multiple.

Disponible pour les applications Google Chat et indisponible pour les modules complémentaires Google Workspace.

Représentation JSON
{

  // Union field data_source can be only one of the following:
  "commonDataSource": enum (CommonDataSource),
  "hostAppDataSource": {
    object (HostAppDataSourceMarkup)
  }
  // End of list of possible types for union field data_source.
}
Champs
Champ d'union data_source. Source de données. data_source ne peut être qu'un des éléments suivants:
commonDataSource

enum (CommonDataSource)

Source de données partagée par toutes les applications Google Workspace, telles que les utilisateurs d'une organisation Google Workspace.

hostAppDataSource

object (HostAppDataSourceMarkup)

Source de données propre à une application hôte Google Workspace, comme les espaces dans Google Chat.

Ce champ est compatible avec les bibliothèques clientes des API Google, mais n'est pas disponible dans les bibliothèques clientes Cloud. Pour en savoir plus, consultez la section Installer les bibliothèques clientes.

CommonDataSource

Source de données partagée par toutes les applications Google Workspace.

Disponible pour les applications Google Chat et indisponible pour les modules complémentaires Google Workspace.

Enums
UNKNOWN Valeur par défaut. Ne pas utiliser.
USER Utilisateurs de Google Workspace L'utilisateur ne peut afficher et sélectionner que des utilisateurs de son organisation Google Workspace.

HostAppDataSourceMarkup

Pour un widget SelectionInput qui utilise un menu à sélection multiple, une source de données provenant d'une application Google Workspace. La source de données renseigne les éléments de sélection du menu à sélection multiple.

Disponible pour les applications Google Chat et indisponible pour les modules complémentaires Google Workspace.

Représentation JSON
{

  // Union field data_source can be only one of the following:
  "chatDataSource": {
    object (ChatClientDataSourceMarkup)
  }
  // End of list of possible types for union field data_source.
}
Champs
Champ d'union data_source. Application Google Workspace qui renseigne les éléments d'un menu à sélection multiple. data_source ne peut être qu'un des éléments suivants:
chatDataSource

object (ChatClientDataSourceMarkup)

Source de données Google Chat.

ChatClientDataSourceMarkup

Pour un widget SelectionInput qui utilise un menu à sélection multiple, une source de données Google Chat. La source de données renseigne les éléments de sélection du menu à sélection multiple. Par exemple, un utilisateur peut sélectionner les espaces Google Chat dont il est membre.

Disponible pour les applications Google Chat et indisponible pour les modules complémentaires Google Workspace.

Représentation JSON
{

  // Union field source can be only one of the following:
  "spaceDataSource": {
    object (SpaceDataSource)
  }
  // End of list of possible types for union field source.
}
Champs
Champ d'union source. Source de données Google Chat. source ne peut être qu'un des éléments suivants:
spaceDataSource

object (SpaceDataSource)

Espaces Google Chat dont l'utilisateur est membre

SpaceDataSource

Source de données qui renseigne les espaces Google Chat en tant qu'éléments de sélection pour un menu à sélection multiple. Ne renseigne que les espaces dont l'utilisateur est membre.

Disponible pour les applications Google Chat et indisponible pour les modules complémentaires Google Workspace.

Représentation JSON
{
  "defaultToCurrentSpace": boolean
}
Champs
defaultToCurrentSpace

boolean

Si la valeur est true, le menu de sélection multiple sélectionne l'espace Google Chat actuel comme élément par défaut.

DateTimePicker

Permet aux utilisateurs de saisir une date, une heure ou les deux. Prend en charge la validation de l'envoi de formulaires. Lorsque Action.all_widgets_are_required est défini sur true ou que ce widget est spécifié dans Action.required_widgets, l'action d'envoi est bloquée, sauf si une valeur est sélectionnée. Pour obtenir un exemple dans les applications Google Chat, consultez la section Permettre à un utilisateur de choisir une date et une heure.

Les utilisateurs peuvent saisir du texte ou utiliser le sélecteur pour sélectionner des dates et des heures. Si les utilisateurs saisissent une date ou une heure incorrecte, le sélecteur affiche une erreur qui les invite à saisir les informations correctement.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "name": string,
  "label": string,
  "type": enum (DateTimePickerType),
  "valueMsEpoch": string,
  "timezoneOffsetDate": integer,
  "onChangeAction": {
    object (Action)
  }
}
Champs
name

string

Nom par lequel DateTimePicker est identifié dans un événement de saisie de formulaire.

Pour en savoir plus sur l'utilisation des entrées de formulaire, consultez la section Recevoir des données de formulaire.

label

string

Texte qui invite les utilisateurs à saisir une date, une heure ou une date et une heure. Par exemple, si les utilisateurs planifient un rendez-vous, utilisez un libellé tel que Appointment date ou Appointment date and time.

type

enum (DateTimePickerType)

Indique si le widget permet de saisir une date, une heure ou les deux.

valueMsEpoch

string (int64 format)

Valeur par défaut affichée dans le widget, en millisecondes depuis l'epoch Unix.

Spécifiez la valeur en fonction du type de sélecteur (DateTimePickerType):

  • DATE_AND_TIME : date et heure au format UTC. Par exemple, pour représenter le 1er janvier 2023 à 12h00 UTC, utilisez 1672574400000.
  • DATE_ONLY : date du calendrier à 00:00:00 UTC. Par exemple, pour représenter le 1er janvier 2023, utilisez 1672531200000.
  • TIME_ONLY : heure au format UTC. Par exemple, pour représenter 12h00, utilisez 43200000 (ou 12 * 60 * 60 * 1000).
timezoneOffsetDate

integer

Nombre représentant le décalage horaire par rapport à UTC, en minutes. Si ce paramètre est défini, valueMsEpoch s'affiche dans le fuseau horaire spécifié. Si ce paramètre n'est pas défini, la valeur par défaut est celle du fuseau horaire de l'utilisateur.

onChangeAction

object (Action)

Déclenché lorsque l'utilisateur clique sur Enregistrer ou Effacer dans l'interface DateTimePicker.

DateTimePickerType

Format de la date et de l'heure dans le widget DateTimePicker. Détermine si les utilisateurs peuvent saisir une date, une heure ou les deux.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Enums
DATE_AND_TIME Les utilisateurs saisissent une date et une heure.
DATE_ONLY Les utilisateurs saisissent une date.
TIME_ONLY Les utilisateurs saisissent une heure.

Séparateur

Ce type ne comporte aucun champ.

Affiche une ligne horizontale entre les widgets. Pour obtenir un exemple dans les applications Google Chat, consultez la section Ajouter une ligne de séparation horizontale entre les widgets.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Par exemple, le code JSON suivant crée un séparateur:

"divider": {}

Grille

Affiche une grille avec une collection d'éléments. Les éléments ne peuvent contenir que du texte ou des images. Pour les colonnes responsives ou pour inclure plus que du texte ou des images, utilisez Columns. Pour obtenir un exemple dans les applications Google Chat, consultez Afficher une grille avec une collection d'éléments.

Une grille peut comporter un nombre illimité de colonnes et d'éléments. Le nombre de lignes est déterminé par le nombre d'éléments divisé par le nombre de colonnes. Une grille de 10 éléments et de deux colonnes comporte cinq lignes. Une grille avec 11 éléments et deux colonnes comporte six lignes.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Par exemple, le code JSON suivant crée une grille à deux colonnes avec un seul élément:

"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"
    }
  }
}
Représentation JSON
{
  "title": string,
  "items": [
    {
      object (GridItem)
    }
  ],
  "borderStyle": {
    object (BorderStyle)
  },
  "columnCount": integer,
  "onClick": {
    object (OnClick)
  }
}
Champs
title

string

Texte affiché dans l'en-tête de la grille.

items[]

object (GridItem)

Éléments à afficher dans la grille.

borderStyle

object (BorderStyle)

Style de bordure à appliquer à chaque élément de la grille.

columnCount

integer

Nombre de colonnes à afficher dans la grille. Si ce champ n'est pas spécifié, une valeur par défaut est utilisée. Cette valeur par défaut est différente selon l'emplacement de la grille (boîte de dialogue ou application associée).

onClick

object (OnClick)

Ce rappel est réutilisé par chaque élément de la grille, mais avec l'identifiant et l'index de l'élément dans la liste des éléments ajoutés aux paramètres du rappel.

GridItem

Représente un élément dans une mise en page en grille. Les éléments peuvent contenir du texte, une image ou les deux.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "id": string,
  "image": {
    object (ImageComponent)
  },
  "title": string,
  "subtitle": string,
  "layout": enum (GridItemLayout)
}
Champs
id

string

Identifiant spécifié par l'utilisateur pour cet élément de grille. Cet identifiant est renvoyé dans les paramètres de rappel onClick de la grille parente.

image

object (ImageComponent)

Image affichée dans l'élément de la grille.

title

string

Titre de l'élément de la grille.

subtitle

string

Sous-titre de l'élément de la grille.

layout

enum (GridItemLayout)

Mise en page à utiliser pour l'élément de grille.

ImageComponent

Représente une image.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "imageUri": string,
  "altText": string,
  "cropStyle": {
    object (ImageCropStyle)
  },
  "borderStyle": {
    object (BorderStyle)
  }
}
Champs
imageUri

string

URL de l'image.

altText

string

Libellé d'accessibilité de l'image.

cropStyle

object (ImageCropStyle)

Style de recadrage à appliquer à l'image.

borderStyle

object (BorderStyle)

Style de bordure à appliquer à l'image.

ImageCropStyle

Représente le style de recadrage appliqué à une image.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Par exemple, voici comment appliquer un format 16:9:

cropStyle {
 "type": "RECTANGLE_CUSTOM",
 "aspectRatio": 16/9
}
Représentation JSON
{
  "type": enum (ImageCropType),
  "aspectRatio": number
}
Champs
type

enum (ImageCropType)

Type de recadrage.

aspectRatio

number

Format à utiliser si le type de recadrage est RECTANGLE_CUSTOM.

Par exemple, voici comment appliquer un format 16:9:

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

ImageCropType

Représente le style de recadrage appliqué à une image.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Enums
IMAGE_CROP_TYPE_UNSPECIFIED Ne pas utiliser. Non spécifié.
SQUARE Valeur par défaut. Applique un recadrage carré.
CIRCLE Applique un recadrage circulaire.
RECTANGLE_CUSTOM Applique un recadrage rectangulaire avec un format personnalisé. Définissez le format personnalisé avec aspectRatio.
RECTANGLE_4_3 Applique un recadrage rectangulaire au format 4:3.

BorderStyle

Options de style pour la bordure d'une carte ou d'un widget, y compris le type et la couleur de la bordure.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "type": enum (BorderType),
  "strokeColor": {
    object (Color)
  },
  "cornerRadius": integer
}
Champs
type

enum (BorderType)

Type de bordure.

strokeColor

object (Color)

Couleurs à utiliser lorsque le type est BORDER_TYPE_STROKE.

Pour définir la couleur du trait, spécifiez une valeur pour les champs red, green et blue. La valeur doit être un nombre à virgule flottante compris entre 0 et 1, en fonction de la valeur de couleur RVB, où 0 (0/255) représente l'absence de couleur et 1 (255/255) représente l'intensité maximale de la couleur.

Par exemple, l'exemple suivant définit la couleur rouge à son intensité maximale:

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

Le champ alpha n'est pas disponible pour la couleur du trait. Si elle est spécifiée, ce champ est ignoré.

cornerRadius

integer

Rayon d'angle de la bordure.

BorderType

Représente les types de bordures appliqués aux widgets.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Enums
BORDER_TYPE_UNSPECIFIED Ne pas utiliser. Non spécifié.
NO_BORDER Valeur par défaut. Aucune bordure.
STROKE Contour.

GridItemLayout

Représente les différentes options de mise en page disponibles pour un élément de grille.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Enums
GRID_ITEM_LAYOUT_UNSPECIFIED Ne pas utiliser. Non spécifié.
TEXT_BELOW Le titre et le sous-titre s'affichent sous l'image de l'élément de la grille.
TEXT_ABOVE Le titre et le sous-titre s'affichent au-dessus de l'image de l'élément de la grille.

Colonnes

Le widget Columns affiche jusqu'à deux colonnes dans une fiche ou une boîte de dialogue. Vous pouvez ajouter des widgets à chaque colonne. Ils s'affichent dans l'ordre dans lequel ils sont spécifiés. Pour obtenir un exemple dans les applications Google Chat, consultez la section Afficher des cartes et des boîtes de dialogue dans des colonnes.

La hauteur de chaque colonne est déterminée par la colonne la plus haute. Par exemple, si la première colonne est plus haute que la deuxième, les deux colonnes ont la même hauteur. Étant donné que chaque colonne peut contenir un nombre différent de widgets, vous ne pouvez pas définir de lignes ni aligner les widgets entre les colonnes.

Les colonnes sont affichées côte à côte. Vous pouvez personnaliser la largeur de chaque colonne à l'aide du champ HorizontalSizeStyle. Si la largeur de l'écran de l'utilisateur est trop étroite, la deuxième colonne se poursuit sous la première:

  • Sur le Web, la deuxième colonne se plie si la largeur de l'écran est inférieure ou égale à 480 pixels.
  • Sur les appareils iOS, la deuxième colonne se plie si la largeur de l'écran est inférieure ou égale à 300 pt.
  • Sur les appareils Android, la deuxième colonne se plie si la largeur de l'écran est inférieure ou égale à 320 dp.

Pour inclure plus de deux colonnes ou utiliser des lignes, utilisez le widget Grid.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace. Voici les UI de modules complémentaires compatibles avec les colonnes:

  • Boîte de dialogue affichée lorsque les utilisateurs ouvrent le module complémentaire à partir d'un brouillon d'e-mail.
  • Boîte de dialogue qui s'affiche lorsque les utilisateurs ouvrent le module complémentaire à partir du menu Ajouter une pièce jointe dans un événement Google Agenda.
Représentation JSON
{
  "columnItems": [
    {
      object (Column)
    }
  ]
}
Champs
columnItems[]

object (Column)

Tableau de colonnes. Vous pouvez inclure jusqu'à deux colonnes dans une fiche ou une boîte de dialogue.

Colonne

Une colonne

Modules complémentaires Google Workspace et applications Chat

Représentation JSON
{
  "horizontalSizeStyle": enum (HorizontalSizeStyle),
  "horizontalAlignment": enum (HorizontalAlignment),
  "verticalAlignment": enum (VerticalAlignment),
  "widgets": [
    {
      object (Widgets)
    }
  ]
}
Champs
horizontalSizeStyle

enum (HorizontalSizeStyle)

Indique comment une colonne remplit la largeur de la fiche.

horizontalAlignment

enum (HorizontalAlignment)

Indique si les widgets doivent être alignés à gauche, à droite ou au centre d'une colonne.

verticalAlignment

enum (VerticalAlignment)

Indique si les widgets doivent être alignés en haut, en bas ou au centre d'une colonne.

widgets[]

object (Widgets)

Tableau de widgets inclus dans une colonne. Les widgets s'affichent dans l'ordre dans lequel ils sont spécifiés.

HorizontalSizeStyle

Indique comment une colonne remplit la largeur de la fiche. La largeur de chaque colonne dépend à la fois de HorizontalSizeStyle et de la largeur des widgets de la colonne.

Modules complémentaires Google Workspace et applications Chat

Enums
HORIZONTAL_SIZE_STYLE_UNSPECIFIED Ne pas utiliser. Non spécifié.
FILL_AVAILABLE_SPACE Valeur par défaut. La colonne occupe l'espace disponible, jusqu'à 70% de la largeur de la fiche. Si les deux colonnes sont définies sur FILL_AVAILABLE_SPACE, chacune occupe 50% de l'espace.
FILL_MINIMUM_SPACE La colonne occupe le moins d'espace possible et pas plus de 30% de la largeur de la fiche.

HorizontalAlignment

Indique si les widgets doivent être alignés à gauche, à droite ou au centre d'une colonne.

Disponible pour les applications Google Chat et indisponible pour les modules complémentaires Google Workspace.

Enums
HORIZONTAL_ALIGNMENT_UNSPECIFIED Ne pas utiliser. Non spécifié.
START Valeur par défaut. Aligne les widgets sur la position de début de la colonne. Pour les mises en page de gauche à droite, s'aligne à gauche. Pour les mises en page de droite à gauche, s'aligne à droite.
CENTER Aligne les widgets au centre de la colonne.
END Aligne les widgets à la fin de la colonne. Pour les mises en page de gauche à droite, aligne les widgets à droite. Pour les mises en page de droite à gauche, aligne les widgets à gauche.

VerticalAlignment

Indique si les widgets doivent être alignés en haut, en bas ou au centre d'une colonne.

Modules complémentaires Google Workspace et applications Chat

Enums
VERTICAL_ALIGNMENT_UNSPECIFIED Ne pas utiliser. Non spécifié.
CENTER Valeur par défaut. Aligne les widgets au centre d'une colonne.
TOP Aligne les widgets en haut d'une colonne.
BOTTOM Aligne les widgets en bas d'une colonne.

Widgets

Widgets compatibles que vous pouvez inclure dans une colonne

Modules complémentaires Google Workspace et applications Chat

Représentation JSON
{

  // Union field data can be only one of the following:
  "textParagraph": {
    object (TextParagraph)
  },
  "image": {
    object (Image)
  },
  "decoratedText": {
    object (DecoratedText)
  },
  "buttonList": {
    object (ButtonList)
  },
  "textInput": {
    object (TextInput)
  },
  "selectionInput": {
    object (SelectionInput)
  },
  "dateTimePicker": {
    object (DateTimePicker)
  },
  "chipList": {
    object (ChipList)
  }
  // End of list of possible types for union field data.
}
Champs

Champ d'union data.

data ne peut être qu'un des éléments suivants:

textParagraph

object (TextParagraph)

Widget TextParagraph

image

object (Image)

Widget Image

decoratedText

object (DecoratedText)

Widget DecoratedText

buttonList

object (ButtonList)

Widget ButtonList

textInput

object (TextInput)

Widget TextInput

selectionInput

object (SelectionInput)

Widget SelectionInput

dateTimePicker

object (DateTimePicker)

Widget DateTimePicker

chipList

object (ChipList)

Widget ChipList

ChipList

Liste de chips disposés horizontalement, qui peut défiler horizontalement ou se terminer à la ligne suivante.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "layout": enum (Layout),
  "chips": [
    {
      object (Chip)
    }
  ]
}
Champs
layout

enum (Layout)

Mise en page de la liste de chips spécifiée.

chips[]

object (Chip)

Tableau de chips.

Mise en page

Mise en page de la liste de chips.

Enums
LAYOUT_UNSPECIFIED Ne pas utiliser. Non spécifié.
WRAPPED Valeur par défaut. La liste de chips passe à la ligne suivante si l'espace horizontal est insuffisant.
HORIZONTAL_SCROLLABLE Les chips défilent horizontalement s'ils ne rentrent pas dans l'espace disponible.

Puce électronique

Chip de texte, d'icône ou de texte et d'icône sur lequel les utilisateurs peuvent cliquer.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "icon": {
    object (Icon)
  },
  "label": string,
  "onClick": {
    object (OnClick)
  },
  "enabled": boolean,
  "disabled": boolean,
  "altText": string
}
Champs
icon

object (Icon)

Image de l'icône. Si les valeurs icon et text sont définies, l'icône s'affiche avant le texte.

label

string

Texte affiché dans le chip.

onClick

object (OnClick)

Facultatif. Action à effectuer lorsqu'un utilisateur clique sur le chip, par exemple ouvrir un lien hypertexte ou exécuter une fonction personnalisée.

enabled
(deprecated)

boolean

Indique si le chip est actif et répond aux actions de l'utilisateur. La valeur par défaut est true. Obsolète. Utilisez plutôt disabled.

disabled

boolean

Indique si le chip est dans un état inactif et ignore les actions de l'utilisateur. La valeur par défaut est false.

altText

string

Texte de substitution utilisé pour l'accessibilité.

Définissez un texte descriptif qui indique aux utilisateurs ce que fait le chip. Par exemple, si un chip ouvre un lien hypertexte, écrivez: "Ouvre un nouvel onglet de navigateur et accède à la documentation destinée aux développeurs Google Chat à l'adresse https://developers.google.com/workspace/chat".

Un carrousel, également appelé curseur, fait pivoter et affiche une liste de widgets sous forme de diaporama, avec des boutons permettant d'accéder au widget précédent ou suivant.

Voici un exemple de représentation JSON d'un carrousel contenant trois widgets de paragraphes de texte.

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

Disponible pour les applications Google Chat et indisponible pour les modules complémentaires Google Workspace.

Représentation JSON
{
  "carouselCards": [
    {
      object (CarouselCard)
    }
  ]
}
Champs
carouselCards[]

object (CarouselCard)

Liste des fiches incluses dans le carrousel.

CarouselCard

Fiche pouvant être affichée en tant qu'élément de carrousel. Disponible pour les applications Google Chat et indisponible pour les modules complémentaires Google Workspace.

Représentation JSON
{
  "widgets": [
    {
      object (NestedWidget)
    }
  ],
  "footerWidgets": [
    {
      object (NestedWidget)
    }
  ]
}
Champs
widgets[]

object (NestedWidget)

Liste des widgets affichés dans la fiche de carrousel. Les widgets s'affichent dans l'ordre dans lequel ils sont spécifiés.

footerWidgets[]

object (NestedWidget)

Liste de widgets affichée en bas de la fiche de carrousel. Les widgets s'affichent dans l'ordre dans lequel ils sont spécifiés.

NestedWidget

Liste des widgets pouvant être affichés dans une mise en page contenant, comme une CarouselCard. Disponible pour les applications Google Chat et indisponible pour les modules complémentaires Google Workspace.

Représentation JSON
{

  // Union field data can be only one of the following:
  "textParagraph": {
    object (TextParagraph)
  },
  "buttonList": {
    object (ButtonList)
  },
  "image": {
    object (Image)
  }
  // End of list of possible types for union field data.
}
Champs

Champ d'union data.

data ne peut être qu'un des éléments suivants:

textParagraph

object (TextParagraph)

Widget de paragraphe de texte.

buttonList

object (ButtonList)

Widget de liste de boutons.

image

object (Image)

Widget Image

CollapseControl

Représenter un contrôle de développement et de réduction

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "horizontalAlignment": enum (HorizontalAlignment),
  "expandButton": {
    object (Button)
  },
  "collapseButton": {
    object (Button)
  }
}
Champs
horizontalAlignment

enum (HorizontalAlignment)

Alignement horizontal du bouton de développement et de réduction.

expandButton

object (Button)

Facultatif. Définissez un bouton personnalisable pour développer la section. Les champs expandButton et collapseButton doivent être définis. Seul un seul ensemble de champs ne sera pas appliqué. Si ce champ n'est pas défini, le bouton par défaut est utilisé.

collapseButton

object (Button)

Facultatif. Définissez un bouton personnalisable pour réduire la section. Les champs expandButton et collapseButton doivent être définis. Seul un seul ensemble de champs ne sera pas appliqué. Si ce champ n'est pas défini, le bouton par défaut est utilisé.

DividerStyle

Style du séparateur d'une fiche. Actuellement, il n'est utilisé que pour les séparateurs entre les sections de la fiche.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Enums
DIVIDER_STYLE_UNSPECIFIED Ne pas utiliser. Non spécifié.
SOLID_DIVIDER Option par défaut. Affichez un séparateur plein.
NO_DIVIDER Si elle est définie, aucun séparateur n'est affiché. Ce style supprime complètement le séparateur de la mise en page. Le résultat équivaut à ne pas ajouter de séparateur du tout.

CardAction

Une action de fiche est l'action associée à la fiche. Par exemple, une fiche de facture peut inclure des actions telles que "Supprimer la facture", "Envoyer la facture par e-mail" ou "Ouvrir la facture dans un navigateur".

Disponible pour les modules complémentaires Google Workspace et indisponible pour les applications Google Chat.

Représentation JSON
{
  "actionLabel": string,
  "onClick": {
    object (OnClick)
  }
}
Champs
actionLabel

string

Libellé affiché comme élément de menu d'action.

onClick

object (OnClick)

Action onClick pour cet élément d'action.

CardFixedFooter

Pied de page persistant (adhésif) qui s'affiche en bas de la fiche.

Définir fixedFooter sans spécifier primaryButton ou secondaryButton entraîne une erreur.

Pour les applications Chat, vous pouvez utiliser des pieds de page fixes dans les boîtes de dialogue, mais pas dans les messages de fiche. Pour obtenir un exemple dans les applications Google Chat, consultez Ajouter un pied de page persistant.

Disponible pour les applications Google Chat et les modules complémentaires Google Workspace.

Représentation JSON
{
  "primaryButton": {
    object (Button)
  },
  "secondaryButton": {
    object (Button)
  }
}
Champs
primaryButton

object (Button)

Bouton principal du pied de page fixe. Le bouton doit être un bouton de texte avec du texte et une couleur définis.

secondaryButton

object (Button)

Bouton secondaire du pied de page fixe. Le bouton doit être un bouton de texte avec du texte et une couleur définis. Si secondaryButton est défini, vous devez également définir primaryButton.

DisplayStyle

Dans les modules complémentaires Google Workspace, détermine comment une fiche s'affiche.

Disponible pour les modules complémentaires Google Workspace et indisponible pour les applications Google Chat.

Enums
DISPLAY_STYLE_UNSPECIFIED Ne pas utiliser. Non spécifié.
PEEK L'en-tête de la fiche s'affiche en bas de la barre latérale, recouvrant partiellement la fiche supérieure actuelle de la pile. Cliquez sur l'en-tête pour insérer la fiche dans la pile. Si la fiche n'a pas d'en-tête, un en-tête généré est utilisé à la place.
REPLACE Valeur par défaut. La fiche s'affiche en remplaçant la vue de la fiche supérieure de la pile.