Method: triggers.fire

Indique à Google qu'un événement de déclenchement s'est produit.

Requête HTTP

POST https://workspacestudio.googleapis.com/v1/{name=triggers/*}:fire

L'URL utilise la syntaxe de transcodage gRPC.

Paramètres de chemin d'accès

Paramètres
name

string

Obligatoire. Nom de ressource du déclencheur. Format : triggers/{trigger_id}

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation JSON
{
  "outputs": {
    string: {
      object (VariableData)
    },
    ...
  },
  "log": {
    object (TextFormat)
  },
  "requestId": string
}
Champs
outputs

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

Facultatif. Variables de sortie de l'événement de déclenchement dans l'application tierce.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

log

object (TextFormat)

Facultatif. Journal facultatif destiné à l'utilisateur pour l'événement déclencheur.

requestId

string

Facultatif. Identifiant unique de cette requête. 36 caractères ASCII maximum. Nous vous recommandons d'utiliser un UUID aléatoire. Cette requête n'est idempotente que si un requestId est fourni.

Corps de la réponse

Si la requête aboutit, le corps de la réponse est vide.

Champs d'application des autorisations

Requiert le niveau d'accès OAuth suivant :

  • https://www.googleapis.com/auth/workspace.studio.trigger

Pour en savoir plus, consultez le guide d'autorisation.

VariableData

Représente des données variables, qui peuvent contenir plusieurs valeurs de différents types.

Représentation JSON
{
  "booleanValues": [
    boolean
  ],
  "integerValues": [
    string
  ],
  "stringValues": [
    string
  ],
  "timestampValues": [
    string
  ],
  "resourceReferences": [
    string
  ],
  "resourceDataValues": [
    {
      object (ResourceData)
    }
  ],
  "emailAddressValues": [
    string
  ],
  "users": [
    string
  ]
}
Champs
booleanValues[]

boolean

Valeurs booléennes.

integerValues[]

string (int64 format)

Valeurs entières.

stringValues[]

string

Valeurs de chaîne.

timestampValues[]

string (Timestamp format)

Valeurs de code temporel.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

resourceReferences[]

string

Liste d'ID de ressources (par exemple, "spaces/123").

resourceDataValues[]

object (ResourceData)

Liste des données de ressources.

emailAddressValues[]

string

Valeurs des adresses e-mail.

users[]

string

Valeurs utilisateur Google au format users/{user}.

ResourceData

Valeur de ressource spécifique à l'application.

Représentation JSON
{
  "fields": {
    string: {
      object (VariableData)
    },
    ...
  }
}
Champs
fields

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

Carte des champs de ressources dont les clés sont les noms des champs.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

TextFormat

Bloc de texte avec des options de mise en forme enrichie, y compris des styles, des liens hypertextes et des éléments interactifs.

Représentation JSON
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
Champs
textFormatElements[]

object (TextFormatElement)

Facultatif. Ensemble d'éléments de format de texte.

TextFormatElement

Élément unique dans un message WorkflowTextFormatMarkup, qui peut être un chip, du texte stylisé, un lien hypertexte ou un conteneur de liste.

Représentation JSON
{

  "text": string,
  "chip": {
    object (Chip)
  },
  "styledText": {
    object (StyledText)
  },
  "hyperlink": {
    object (Hyperlink)
  },
  "listContainer": {
    object (ListContainer)
  }
}
Champs
Champ d'union element. Élément représentant l'un des nombreux éléments de format de texte possibles. element ne peut être qu'un des éléments suivants :
text

string

Texte au format texte.

chip

object (Chip)

Chip cliquable au format texte.

styledText

object (StyledText)

Texte mis en forme au format texte.

listContainer

object (ListContainer)

Conteneur de liste au format texte.

Chip

Un chip cliquable au format texte.

Représentation JSON
{
  "icon": {
    object (Icon)
  },
  "label": string,
  "url": string
}
Champs
icon

object (Icon)

Facultatif. Icône affichée dans le chip.

label

string

Facultatif. Texte affiché dans le chip.

url

string

Facultatif. URL vers laquelle accéder lorsque l'utilisateur clique sur le chip.

Icône

Une icône dans le chip.

Représentation JSON
{

  "iconUrl": string,
  "materialIcon": string
}
Champs
Champ d'union icons. Icône affichée dans le chip. icons ne peut être qu'un des éléments suivants :
iconUrl

string

Affichez une icône personnalisée hébergée à 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

string

Nom de l'icône défini dans Google Material Icons, par exemple check_box. Tous les noms non valides sont abandonnés et remplacés par une chaîne vide, ce qui empêche l'icône de s'afficher.

StyledText

Élément de texte avec des styles tels que le gras, l'italique et la couleur.

Représentation JSON
{
  "text": string,
  "styles": [
    enum (Style)
  ],
  "fontWeight": enum (FontWeight),
  "color": {
    object (Color)
  },
  "wrapStyle": enum (WrapStyle)
}
Champs
text

string

Facultatif. Contenu principal du texte.

styles[]

enum (Style)

Facultatif. Ensemble de styles appliqués au texte.

fontWeight

enum (FontWeight)

Facultatif. Épaisseur de la police du texte.

color

object (Color)

Facultatif. Couleur du texte.

wrapStyle

enum (WrapStyle)

Facultatif. Style d'habillage du texte.

Style

Énumération pour différents styles de texte tels que l'italique, le soulignement, etc.

Enums
STYLE_UNSPECIFIED Aucun style appliqué.
ITALIC Style italique.
UNDERLINE Style de soulignement.
STRIKETHROUGH Style barré.
LINE_BREAK Saut de ligne.
UPPERCASE Style en majuscules.
CODE Codez.
CODE_BLOCK Bloc de code.

FontWeight

Énumération pour différentes épaisseurs de police.

Enums
FONT_WEIGHT_UNSPECIFIED Poids standard avec une épaisseur normale.
LIGHT Plus léger et moins épais.
MEDIUM Poids intermédiaire entre le style clair et le style gras.
BOLD Un poids plus élevé avec une épaisseur accrue.

Couleur

Représente une couleur dans l'espace colorimétrique RVBA. Cette représentation est conçue pour faciliter la conversion vers et depuis les représentations de couleurs dans différentes langues, plutôt que pour la compacité. Par exemple, les champs de cette représentation peuvent être fournis de manière triviale au constructeur de java.awt.Color en Java, à la méthode +colorWithRed:green:blue:alpha de UIColor en iOS, et 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 si deux couleurs sont égales, les implémentations, sauf indication contraire, considèrent que deux couleurs sont égales si toutes leurs valeurs rouge, vert, bleu et alpha diffèrent 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 opaque, tandis qu'une valeur de 0,0 correspond à une couleur totalement transparente. Un message wrapper est utilisé à la place d'une simple valeur scalaire flottante pour permettre de faire la distinction entre une valeur par défaut et la valeur vide. En cas d'omission, cet objet de couleur est affiché en tant que couleur opaque (comme si la valeur alpha avait été explicitement fournie avec une valeur de 1,0).

WrapStyle

Énumération pour différents styles d'habillage.

Enums
WRAP_STYLE_UNSPECIFIED Aucun style d'habillage n'a été spécifié.
NO_WRAP Aucun style d'habillage.

ListContainer

Conteneur pour les éléments de liste, où chaque élément de liste peut contenir plusieurs TextFormatElement.

Représentation JSON
{
  "listNestLevel": string,
  "listType": enum (ListType),
  "listItems": [
    {
      object (ListItem)
    }
  ]
}
Champs
listNestLevel

string (int64 format)

Facultatif. Niveau d'imbrication de la liste. Commence à 0 pour le niveau supérieur et augmente de 1 pour chaque liste imbriquée.

listType

enum (ListType)

Facultatif. Type de liste.

listItems[]

object (ListItem)

Facultatif. Collection d'éléments de liste.

ListType

Enum pour différents types de listes.

Enums
LIST_TYPE_UNSPECIFIED Aucun type de liste n'a été spécifié.
ORDERED Liste ordonnée.
UNORDERED Liste non triée.

ListItem

Élément de liste.

Représentation JSON
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
Champs
textFormatElements[]

object (TextFormatElement)

Facultatif. Ensemble d'éléments de format de texte.