Method: triggers.fire

Benachrichtigt Google, dass ein Triggerereignis eingetreten ist.

HTTP-Anfrage

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

Die URL verwendet die Syntax der gRPC-Transcodierung.

Pfadparameter

Parameter
name

string

Erforderlich. Der Ressourcenname des Triggers. Format: triggers/{trigger_id}

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "outputs": {
    string: {
      object (VariableData)
    },
    ...
  },
  "log": {
    object (TextFormat)
  },
  "requestId": string
}
Felder
outputs

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

Optional. Die Ausgabevariablen aus dem Triggerereignis in der Drittanbieteranwendung.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

log

object (TextFormat)

Optional. Optionales nutzerorientiertes Protokoll für das Triggerereignis.

requestId

string

Optional. Eine eindeutige Kennung für diese Anfrage. Auf 36 ASCII-Zeichen beschränkt. Eine zufällige UUID wird empfohlen. Diese Anfrage ist nur idempotent, wenn eine requestId angegeben wird.

Antworttext

Wenn der Vorgang erfolgreich ist, ist der Antworttext leer.

Autorisierungsbereiche

Erfordert den folgenden OAuth-Bereich:

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

Weitere Informationen finden Sie im Autorisierungsleitfaden.

VariableData

Stellt variable Daten dar, die mehrere Werte unterschiedlicher Typen enthalten können.

JSON-Darstellung
{
  "booleanValues": [
    boolean
  ],
  "integerValues": [
    string
  ],
  "stringValues": [
    string
  ],
  "timestampValues": [
    string
  ],
  "resourceReferences": [
    string
  ],
  "resourceDataValues": [
    {
      object (ResourceData)
    }
  ],
  "emailAddressValues": [
    string
  ],
  "users": [
    string
  ]
}
Felder
booleanValues[]

boolean

Boolesche Werte.

integerValues[]

string (int64 format)

Ganzzahlwerte.

stringValues[]

string

Stringwerte.

timestampValues[]

string (Timestamp format)

Zeitstempelwerte.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

resourceReferences[]

string

Eine Liste von Ressourcen-IDs (z.B. „spaces/123“).

resourceDataValues[]

object (ResourceData)

Eine Liste mit Ressourcendaten.

emailAddressValues[]

string

Werte für E-Mail-Adressen

users[]

string

Google-Nutzerwerte im Format users/{user}.

ResourceData

Anwendungsspezifischer Ressourcenwert.

JSON-Darstellung
{
  "fields": {
    string: {
      object (VariableData)
    },
    ...
  }
}
Felder
fields

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

Eine Zuordnung der Ressourcenfelder nach Feldname.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

TextFormat

Ein Textblock mit Rich-Text-Formatierungsoptionen wie Stilen, Hyperlinks und interaktiven Elementen.

JSON-Darstellung
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
Felder
textFormatElements[]

object (TextFormatElement)

Optional. Eine Sammlung von Elementen für das Textformat.

TextFormatElement

Ein einzelnes Element in einer WorkflowTextFormatMarkup-Nachricht, das ein Chip, formatierter Text, ein Hyperlink oder ein Listencontainer sein kann.

JSON-Darstellung
{

  "text": string,
  "chip": {
    object (Chip)
  },
  "styledText": {
    object (StyledText)
  },
  "hyperlink": {
    object (Hyperlink)
  },
  "listContainer": {
    object (ListContainer)
  }
}
Felder
Union-Feld element. Element, das eines von mehreren möglichen Textformatierungselementen darstellt. Für element ist nur einer der folgenden Werte zulässig:
text

string

Text im Textformat.

chip

object (Chip)

Klickbarer Chip im Textformat.

styledText

object (StyledText)

Formatierter Text im Textformat.

listContainer

object (ListContainer)

Listet den Container im Textformat auf.

Chip

Ein anklickbarer Chip im Textformat.

JSON-Darstellung
{
  "icon": {
    object (Icon)
  },
  "label": string,
  "url": string
}
Felder
icon

object (Icon)

Optional. Das Symbol, das im Chip angezeigt wird.

label

string

Optional. Der im Chip angezeigte Text.

url

string

Optional. Die URL, zu der der Nutzer weitergeleitet wird, wenn er auf den Chip klickt.

Symbol

Ein Symbol im Chip

JSON-Darstellung
{

  "iconUrl": string,
  "materialIcon": string
}
Felder
Union-Feld icons. Das Symbol, das im Chip angezeigt wird. Für icons ist nur einer der folgenden Werte zulässig:
iconUrl

string

Ein benutzerdefiniertes Symbol anzeigen, das unter einer HTTPS-URL gehostet wird.

Beispiel:

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

Unterstützte Dateitypen sind .png und .jpg.

materialIcon

string

Der im Google Material Icon definierte Symbolname, z. B. check_box. Alle ungültigen Namen werden verworfen und durch einen leeren String ersetzt. Das Symbol kann dann nicht gerendert werden.

StyledText

Textelement mit Formatierungen wie fett, kursiv und Farbe.

JSON-Darstellung
{
  "text": string,
  "styles": [
    enum (Style)
  ],
  "fontWeight": enum (FontWeight),
  "color": {
    object (Color)
  },
  "wrapStyle": enum (WrapStyle)
}
Felder
text

string

Optional. Der Hauptinhalt des Texts.

styles[]

enum (Style)

Optional. Eine Sammlung von Stilen, die auf den Text angewendet werden.

fontWeight

enum (FontWeight)

Optional. Die Schriftstärke des Texts.

color

object (Color)

Optional. Die Farbe des Textes.

wrapStyle

enum (WrapStyle)

Optional. Der Textumbruchstil des Texts.

Stil

Enumeration für verschiedene Textstile wie Kursiv, Unterstreichen usw.

Enums
STYLE_UNSPECIFIED Es wurde kein Stil angewendet.
ITALIC Kursiver Stil.
UNDERLINE Stil „Unterstreichen“
STRIKETHROUGH Durchgestrichener Stil.
LINE_BREAK Zeilenumbruch
UPPERCASE Großschreibung.
CODE Programmieren.
CODE_BLOCK Codeblock

FontWeight

Aufzählung für verschiedene Schriftstärken.

Enums
FONT_WEIGHT_UNSPECIFIED Standardgewicht mit normaler Stärke.
LIGHT Geringeres Gewicht und geringere Dicke.
MEDIUM Mittleres Gewicht zwischen „Light“ und „Bold“.
BOLD Höheres Gewicht bei erhöhter Dicke.

Farbe

Ermöglicht die Darstellung einer Farbe im RGBA-Farbraum. Diese Darstellung ist auf eine einfache Konvertierung in und aus Farbdarstellungen in verschiedenen Sprachen ausgelegt und nicht auf Kompaktheit. Die Felder dieser Darstellung können beispielsweise ganz einfach an den Konstruktor von java.awt.Color in Java übergeben werden. Sie können auch ganz einfach an die Methode +colorWithRed:green:blue:alpha von UIColor in iOS übergeben werden. Mit nur wenig Aufwand lassen sie sich in JavaScript in einen CSS-rgba()-String formatieren.

Diese Referenzseite enthält keine Informationen zum absoluten Farbraum, der zur Interpretation des RGB-Werts verwendet werden sollte, z. B. sRGB, Adobe RGB, DCI-P3 und BT.2020. Anwendungen sollten standardmäßig den sRGB-Farbraum verwenden.

Wenn entschieden werden muss, ob zwei Farben gleich sind, behandeln Implementierungen zwei Farben, sofern nicht anders dokumentiert, als gleich, wenn sich alle ihre Rot-, Grün-, Blau- und Alphawerte um höchstens 1e-5 unterscheiden.

Beispiel (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();
 }
 // ...

Beispiel (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;
}
// ...

Beispiel (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('');
};

// ...
JSON-Darstellung
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Felder
red

number

Der Rotanteil der Farbe als Wert im Intervall [0, 1].

green

number

Der Grünanteil der Farbe als Wert im Intervall [0, 1].

blue

number

Der Blauanteil der Farbe als Wert im Intervall [0, 1].

alpha

number

Der Anteil dieser Farbe, der auf den Pixel angewendet werden soll. Die endgültige Pixelfarbe wird durch folgende Gleichung definiert:

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

Der Wert 1,0 entspricht einer soliden Farbdarstellung, während die Farbe bei einem Wert von 0,0 vollständig transparent ist. Dabei wird anstelle eines einfachen Float-Skalarwerts eine Wrapper-Nachricht verwendet, sodass zwischen einem Standardwert und dem zurückgesetzten Wert unterschieden werden kann. Wenn nicht angegeben, wird das Farbobjekt als solide Farbe dargestellt (als ob für den Alphawert explizit 1,0 angegeben worden wäre).

WrapStyle

Enumeration für verschiedene Umbruchstile.

Enums
WRAP_STYLE_UNSPECIFIED Es wurde kein Umbruchstil angegeben.
NO_WRAP Kein Umbruchstil.

ListContainer

Container für Listenelemente, wobei jedes Listenelement mehrere TextFormatElement-Elemente enthalten kann.

JSON-Darstellung
{
  "listNestLevel": string,
  "listType": enum (ListType),
  "listItems": [
    {
      object (ListItem)
    }
  ]
}
Felder
listNestLevel

string (int64 format)

Optional. Die Verschachtelungsebene der Liste. Beginnt mit 0 für die oberste Ebene und wird für jede verschachtelte Liste um 1 erhöht.

listType

enum (ListType)

Optional. Der Typ der Liste.

listItems[]

object (ListItem)

Optional. Eine Sammlung von Listenelementen.

ListType

Enum für verschiedene Listentypen.

Enums
LIST_TYPE_UNSPECIFIED Es wurde kein Listentyp angegeben.
ORDERED Sortierte Liste.
UNORDERED Unsortierte Liste.

ListItem

Ein Listeneintrag.

JSON-Darstellung
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
Felder
textFormatElements[]

object (TextFormatElement)

Optional. Eine Sammlung von Elementen für das Textformat.