Event

Événement d'interaction d'une application Google Chat qui représente et contient des données sur l'interaction d'un utilisateur avec une application Chat. Pour configurer votre application Chat afin qu'elle reçoive des événements d'interaction, consultez Recevoir des interactions utilisateur et y répondre.

En plus de recevoir des événements liés aux interactions des utilisateurs, les applications Chat peuvent recevoir des événements concernant les modifications apportées aux espaces, par exemple lorsqu'un nouveau membre est ajouté à un espace. Pour en savoir plus sur les événements d'espace, consultez Utiliser les événements de Google Chat.

Avertissement : Cet objet d'événement n'est utilisé que pour les applications Chat qui ne sont pas des modules complémentaires. Si votre application Chat est conçue comme un module complémentaire Google Workspace, consultez plutôt Objets d'événement de module complémentaire dans la documentation sur les modules complémentaires. Pour confirmer le type d'événement que votre application reçoit, consultez Déterminer le type d'événement.

Représentation JSON
{
  "type": enum (EventType),
  "eventTime": string,
  "token": string,
  "threadKey": string,
  "message": {
    object (Message)
  },
  "user": {
    object (User)
  },
  "thread": {
    object (Thread)
  },
  "space": {
    object (Space)
  },
  "action": {
    object (FormAction)
  },
  "configCompleteRedirectUrl": string,
  "isDialogEvent": boolean,
  "dialogEventType": enum (DialogEventType),
  "common": {
    object (CommonEventObject)
  },
  "appCommandMetadata": {
    object (AppCommandMetadata)
  }
}
Champs
type

enum (EventType)

Type d'interaction de l'utilisateur avec l'application Chat, par exemple MESSAGE ou ADDED_TO_SPACE.

eventTime

string (Timestamp format)

Code temporel indiquant quand l'événement d'interaction s'est produit.

token

string

Valeur secrète que les anciennes applications Chat peuvent utiliser pour vérifier si une requête provient de Google. Google génère le jeton de manière aléatoire, et sa valeur reste statique. Vous pouvez obtenir, révoquer ou générer à nouveau le jeton depuis la page de configuration de l'API Chat dans la console Google Cloud.

Les applications Chat modernes n'utilisent pas ce champ. Il n'est pas présent dans les réponses de l'API ni sur la page de configuration de l'API Chat.

threadKey

string

Clé définie par l'application Chat pour le fil de discussion associé à l'événement d'interaction. Pour en savoir plus, consultez spaces.messages.thread.threadKey.

message

object (Message)

Pour les événements d'interaction ADDED_TO_SPACE, CARD_CLICKED et MESSAGE, le message qui a déclenché l'événement d'interaction, le cas échéant.

user

object (User)

L'utilisateur qui a interagi avec l'application Chat.

thread

object (Thread)

Fil de discussion dans lequel l'utilisateur a interagi avec l'application Chat. Il peut s'agir d'un nouveau fil de discussion créé par un message récemment envoyé. Ce champ est renseigné si l'événement d'interaction est associé à un message ou à un fil de discussion spécifique.

space

object (Space)

Espace dans lequel l'utilisateur a interagi avec l'application Chat.

action

object (FormAction)

Pour les événements d'interaction CARD_CLICKED, données d'action de formulaire associées lorsqu'un utilisateur clique sur une fiche ou une boîte de dialogue. Pour en savoir plus, consultez Lire les données de formulaire saisies par les utilisateurs sur les fiches.

configCompleteRedirectUrl

string

Cette URL est renseignée pour les événements d'interaction MESSAGE, ADDED_TO_SPACE et APP_COMMAND. Une fois qu'ils ont terminé un flux d'autorisation ou de configuration en dehors de Google Chat, les utilisateurs doivent être redirigés vers cette URL pour indiquer à Google Chat que le flux d'autorisation ou de configuration a réussi. Pour en savoir plus, consultez Connecter une application Chat à d'autres services et outils.

isDialogEvent

boolean

Pour les événements d'interaction CARD_CLICKED et MESSAGE, indique si l'utilisateur interagit ou est sur le point d'interagir avec une boîte de dialogue.

dialogEventType

enum (DialogEventType)

Type d'événement d'interaction de boîte de dialogue reçu.

common

object (CommonEventObject)

Représente les informations sur le client de l'utilisateur, telles que les paramètres régionaux, l'application hôte et la plate-forme. Pour les applications Chat, CommonEventObject inclut les informations envoyées par les utilisateurs qui interagissent avec les boîtes de dialogue, comme les données saisies sur une fiche.

appCommandMetadata

object (AppCommandMetadata)

Métadonnées d'une commande d'application Chat.

CommonEventObject

L'objet d'événement commun est la partie de l'objet d'événement global qui transmet des informations générales, indépendantes de l'hôte, au module complémentaire à partir du client de l'utilisateur. Ces informations incluent des détails tels que les paramètres régionaux de l'utilisateur, l'application hôte et la plate-forme.

En plus des déclencheurs de page d'accueil et contextuels, les modules complémentaires créent et transmettent des objets d'événement aux fonctions de rappel d'action lorsque l'utilisateur interagit avec des widgets. La fonction de rappel de votre module complémentaire peut interroger l'objet d'événement commun pour déterminer le contenu des widgets ouverts dans le client de l'utilisateur. Par exemple, votre module complémentaire peut localiser le texte qu'un utilisateur a saisi dans un widget TextInput de l'objet eventObject.commentEventObject.formInputs.

Pour les applications Chat, nom de la fonction appelée par l'utilisateur lorsqu'il interagit avec un widget.

Représentation JSON
{
  "userLocale": string,
  "hostApp": enum (HostApp),
  "platform": enum (Platform),
  "timeZone": {
    object (TimeZone)
  },
  "formInputs": {
    string: {
      object (Inputs)
    },
    ...
  },
  "parameters": {
    string: string,
    ...
  },
  "invokedFunction": string
}
Champs
userLocale

string

Désactivé par défaut. Identifiant de la langue et du pays/de la région de l'utilisateur au format code de langue ISO 639-code de pays/région ISO 3166. Par exemple, en-US.

Pour activer ce champ, vous devez définir addOns.common.useLocaleFromApp sur true dans le fichier manifeste de votre module complémentaire. La liste des champs d'application de votre module complémentaire doit également inclure https://www.googleapis.com/auth/script.locale. Pour en savoir plus, consultez Accéder aux paramètres régionaux et au fuseau horaire de l'utilisateur.

hostApp

enum (HostApp)

Indique l'application hôte dans laquelle le module complémentaire est actif lorsque l'objet d'événement est généré. Les valeurs possibles sont les suivantes :

  • GMAIL
  • CALENDAR
  • DRIVE
  • DOCS
  • SHEETS
  • SLIDES
  • CHAT
platform

enum (Platform)

Énumération de la plate-forme qui indique la plate-forme d'origine de l'événement (WEB, IOS ou ANDROID). Non compatible avec les applications Chat.

timeZone

object (TimeZone)

Désactivé par défaut. ID du fuseau horaire et décalage par rapport au temps universel coordonné (UTC). Pour activer ce champ, vous devez définir addOns.common.useLocaleFromApp sur true dans le fichier manifeste de votre module complémentaire. La liste des champs d'application de votre module complémentaire doit également inclure https://www.googleapis.com/auth/script.locale. Pour en savoir plus, consultez Accéder aux paramètres régionaux et au fuseau horaire de l'utilisateur.

Uniquement compatible avec les types d'événements CARD_CLICKED et SUBMIT_DIALOG.

formInputs

map (key: string, value: object (Inputs))

Mappage contenant les valeurs actuelles des widgets de la fiche affichée. Les clés de mappage sont les valeurs de chaîne name attribuées à chaque widget d'entrée (par exemple, TextInput.name, SelectionInput.name, DateTimePicker.name ou DecoratedText.SwitchControl.name).

La structure de l'objet de valeur de mappage dépend du type de widget :

Remarque : Les exemples suivants sont formatés pour l'environnement d'exécution V8 d'Apps Script. Si vous utilisez l'environnement d'exécution Rhino, vous devez ajouter [""] après la valeur. Par exemple, au lieu de e.commonEventObject.formInputs.employeeName.stringInputs.value[0], formatez l'objet d'événement en tant que e.commonEventObject.formInputs.employeeName[""].stringInputs.value[0]. Pour en savoir plus sur les environnements d'exécution dans Apps Script, consultez la présentation de l'environnement d'exécution V8.

  • Widgets à valeur unique (par exemple, un widget TextInput ou un widget SelectionInput de type DROPDOWN ou RADIO_BUTTON) : un objet StringInputs contenant une liste à un seul élément (ou une liste vide si aucune sélection n'est effectuée).

Exemple : pour un widget de saisie de texte dont le name est employeeName, accédez à la valeur de saisie de texte avec e.commonEventObject.formInputs.employeeName.stringInputs.value[0].

  • Widgets à valeurs multiples (par exemple, un widget SelectionInput de type CHECK_BOX, SWITCH ou MULTI_SELECT) : un objet StringInputs contenant la liste des chaînes value des éléments sélectionnés.

Exemple : pour un widget à valeurs multiples dont l'name est participants, accédez au tableau de valeurs avec e.commonEventObject.formInputs.participants.stringInputs.value.

  • Un widget DecoratedText.SwitchControl : un objet StringInputs. Lorsque selected est défini sur true, stringInputs.value contient le champ value du commutateur (ou "" si value n'a pas été spécifié ; si plusieurs commutateurs partagent le même name, le champ value de chaque commutateur sélectionné est inclus dans la liste). Lorsque selected est false, le value du commutateur est omis de stringInputs.value.

  • Un sélecteur de date et d'heure (DateTimePickerType.DATE_AND_TIME) : un DateTimeInput object.

Exemple : Pour un sélecteur avec un name de myDTPicker, accédez à l'objet DateTimeInput à l'aide de e.commonEventObject.formInputs.myDTPicker.dateTimeInput.

  • Sélecteur de date uniquement (DateTimePickerType.DATE_ONLY) : DateInput object.

Exemple : Pour un sélecteur avec un name de myDatePicker, accédez à l'objet DateInput à l'aide de e.commonEventObject.formInputs.myDatePicker.dateInput.

  • Un sélecteur d'heure uniquement (DateTimePickerType.TIME_ONLY) : un TimeInput object.

Exemple : Pour un sélecteur avec un name de myTimePicker, accédez à l'objet TimeInput à l'aide de e.commonEventObject.formInputs.myTimePicker.timeInput.

parameters

map (key: string, value: string)

Tous les paramètres supplémentaires que vous fournissez à une action à l'aide de actionParameters ou Action.setParameters().

Preview développeur : pour les modules complémentaires qui étendent Google Chat, afin de suggérer des éléments en fonction de ce que les utilisateurs saisissent dans les menus à sélection multiple, utilisez la valeur de la clé "autocomplete_widget_query" (event.commonEventObject.parameters["autocomplete_widget_query"]). Vous pouvez utiliser cette valeur pour interroger une base de données et suggérer des éléments sélectionnables aux utilisateurs à mesure qu'ils saisissent du texte. Pour en savoir plus, consultez Collecter et traiter les informations des utilisateurs de Google Chat.

invokedFunction

string

Nom de la fonction à appeler.

Ce champ n'est pas renseigné pour les modules complémentaires Google Workspace qui étendent Google Chat. Pour recevoir des données de fonction telles que des identifiants, les modules complémentaires qui étendent Chat doivent utiliser le champ parameters. Consultez Créer des interfaces interactives pour les applications Chat.

TimeZone

ID du fuseau horaire et décalage par rapport au temps universel coordonné (UTC). Uniquement compatible avec les types d'événements CARD_CLICKED et SUBMIT_DIALOG.

Représentation JSON
{
  "id": string,
  "offset": integer
}
Champs
id

string

Code de la base de données de fuseaux horaires IANA TZ, par exemple "America/Toronto".

offset

integer

Décalage du fuseau horaire de l'utilisateur, en millisecondes, par rapport au temps universel coordonné (UTC).

Entrées

Types de données que les utilisateurs peuvent saisir sur des fiches ou dans des boîtes de dialogue. Le type d'entrée dépend du type de valeurs acceptées par le widget.

Représentation JSON
{

  "stringInputs": {
    object (StringInputs)
  },
  "dateTimeInput": {
    object (DateTimeInput)
  },
  "dateInput": {
    object (DateInput)
  },
  "timeInput": {
    object (TimeInput)
  }
}
Champs
Voici une liste de champs mutuellement exclusifs. Au maximum, un des champs sera défini dans une réponse :
stringInputs

object (StringInputs)

Liste de chaînes représentant les valeurs saisies par l'utilisateur dans un widget.

Si le widget n'accepte qu'une seule valeur, comme un widget TextInput, la liste contient un objet de chaîne. Si le widget accepte plusieurs valeurs, comme un widget SelectionInput de cases à cocher, la liste contient un objet de chaîne pour chaque valeur saisie ou sélectionnée par l'utilisateur.

dateTimeInput

object (DateTimeInput)

Valeurs d'entrée de date et d'heure d'un widget DateTimePicker qui accepte à la fois une date et une heure.

dateInput

object (DateInput)

Valeurs d'entrée de date d'un widget DateTimePicker qui n'accepte que les valeurs de date.

timeInput

object (TimeInput)

Valeurs d'entrée d'heure d'un widget DateTimePicker qui n'accepte que les valeurs d'heure.

Fin des champs mutuellement exclusifs.

StringInputs

Paramètre d'entrée pour les widgets standards. Pour les widgets à valeur unique, il s'agit d'une liste à valeur unique. Pour les widgets à valeurs multiples, tels que les cases à cocher, toutes les valeurs sont présentées.

Représentation JSON
{
  "value": [
    string
  ]
}
Champs
value[]

string

Liste de chaînes saisies par l'utilisateur.

DateTimeInput

Valeurs d'entrée de date et d'heure.

Représentation JSON
{
  "msSinceEpoch": string,
  "hasDate": boolean,
  "hasTime": boolean
}
Champs
msSinceEpoch

string (int64 format)

Temps écoulé depuis l'epoch, en millisecondes.

hasDate

boolean

Indique si l'entrée datetime inclut une date calendaire.

hasTime

boolean

Indique si l'entrée datetime inclut un code temporel.

DateInput

Valeurs d'entrée de date.

Représentation JSON
{
  "msSinceEpoch": string
}
Champs
msSinceEpoch

string (int64 format)

Temps écoulé depuis l'epoch, en millisecondes.

TimeInput

Valeurs d'entrée de l'heure.

Représentation JSON
{
  "hours": integer,
  "minutes": integer
}
Champs
hours

integer

L'heure selon le format "24 heures".

minutes

integer

Nombre de minutes après l'heure pile. Les valeurs valides sont comprises entre 0 et 59.

AppCommandMetadata

Métadonnées d'une commande d'application Chat.

Représentation JSON
{
  "appCommandId": integer,
  "appCommandType": enum (AppCommandType)
}
Champs
appCommandId

integer

ID de la commande spécifiée dans la configuration de l'API Chat.

appCommandType

enum (AppCommandType)

Type de commande d'application Chat.