- HTTP-Anfrage
- Pfadparameter
- Anfragetext
- Antworttext
- Autorisierungsbereiche
- VariableData
- ResourceData
- TextFormat
- TextFormatElement
- Chip
- Symbol
- StyledText
- Design
- FontWeight
- Color
- WrapStyle
- Hyperlink
- ListContainer
- ListType
- ListItem
- Testen!
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 |
Erforderlich. Der Ressourcenname des Triggers. Format: triggers/{trigger_id} |
Anfragetext
Der Anfragetext enthält Daten mit folgender Struktur:
| JSON-Darstellung |
|---|
{ "outputs": { string: { object ( |
| Felder | |
|---|---|
outputs |
Optional. Die Ausgabevariablen aus dem Triggerereignis in der Drittanbieteranwendung. Ein Objekt, das eine Liste von |
log |
Optional. Optionales nutzerorientiertes Protokoll für das Triggerereignis. |
requestId |
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 |
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 ( |
| Felder | |
|---|---|
booleanValues[] |
Boolesche Werte. |
integerValues[] |
Ganzzahlwerte. |
stringValues[] |
Stringwerte. |
timestampValues[] |
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: |
resourceReferences[] |
Eine Liste von Ressourcen-IDs (z.B. „spaces/123“). |
resourceDataValues[] |
Eine Liste mit Ressourcendaten. |
emailAddressValues[] |
Werte für E-Mail-Adressen |
users[] |
Google-Nutzerwerte im Format |
ResourceData
Anwendungsspezifischer Ressourcenwert.
| JSON-Darstellung |
|---|
{
"fields": {
string: {
object ( |
| Felder | |
|---|---|
fields |
Eine Zuordnung der Ressourcenfelder nach Feldname. Ein Objekt, das eine Liste von |
TextFormat
Ein Textblock mit Rich-Text-Formatierungsoptionen wie Stilen, Hyperlinks und interaktiven Elementen.
| JSON-Darstellung |
|---|
{
"textFormatElements": [
{
object ( |
| Felder | |
|---|---|
textFormatElements[] |
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 ( |
| 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 |
Text im Textformat. |
chip |
Klickbarer Chip im Textformat. |
styledText |
Formatierter Text im Textformat. |
hyperlink |
Hyperlink im Textformat. |
listContainer |
Listet den Container im Textformat auf. |
Chip
Ein anklickbarer Chip im Textformat.
| JSON-Darstellung |
|---|
{
"icon": {
object ( |
| Felder | |
|---|---|
icon |
Optional. Das Symbol, das im Chip angezeigt wird. |
label |
Optional. Der im Chip angezeigte Text. |
url |
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 |
Ein benutzerdefiniertes Symbol anzeigen, das unter einer HTTPS-URL gehostet wird. Beispiel: Unterstützte Dateitypen sind |
materialIcon |
Der im Google Material Icon definierte Symbolname, z. B. |
StyledText
Textelement mit Formatierungen wie fett, kursiv und Farbe.
| JSON-Darstellung |
|---|
{ "text": string, "styles": [ enum ( |
| Felder | |
|---|---|
text |
Optional. Der Hauptinhalt des Texts. |
styles[] |
Optional. Eine Sammlung von Stilen, die auf den Text angewendet werden. |
fontWeight |
Optional. Die Schriftstärke des Texts. |
color |
Optional. Die Farbe des Textes. |
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 |
Der Rotanteil der Farbe als Wert im Intervall [0, 1]. |
green |
Der Grünanteil der Farbe als Wert im Intervall [0, 1]. |
blue |
Der Blauanteil der Farbe als Wert im Intervall [0, 1]. |
alpha |
Der Anteil dieser Farbe, der auf den Pixel angewendet werden soll. Die endgültige Pixelfarbe wird durch folgende Gleichung definiert:
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. |
Hyperlink
Hyperlink-Element mit Text und Link.
| JSON-Darstellung |
|---|
{ "link": string, "text": string } |
| Felder | |
|---|---|
link |
Erforderlich. Die Ziel-URL des Hyperlinks. |
text |
Erforderlich. Der Text des Hyperlinks. |
ListContainer
Container für Listenelemente, wobei jedes Listenelement mehrere TextFormatElement-Elemente enthalten kann.
| JSON-Darstellung |
|---|
{ "listNestLevel": string, "listType": enum ( |
| Felder | |
|---|---|
listNestLevel |
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 |
Optional. Der Typ der Liste. |
listItems[] |
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 ( |
| Felder | |
|---|---|
textFormatElements[] |
Optional. Eine Sammlung von Elementen für das Textformat. |