Method: triggers.fire

Powiadamia Google o wystąpieniu zdarzenia wywołującego.

Żądanie HTTP

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

Adres URL używa składni transkodowania gRPC.

Parametry ścieżki

Parametry
name

string

Wymagane. Nazwa zasobu aktywatora. Format: triggers/{trigger_id}

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "outputs": {
    string: {
      object (VariableData)
    },
    ...
  },
  "log": {
    object (TextFormat)
  },
  "requestId": string
}
Pola
outputs

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

Opcjonalnie: Zmienne wyjściowe zdarzenia aktywującego w aplikacji innej firmy.

Obiekt zawierający listę par "key": value. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }

log

object (TextFormat)

Opcjonalnie: Opcjonalny dziennik zdarzenia aktywującego widoczny dla użytkownika.

requestId

string

Opcjonalnie: Unikalny identyfikator tego żądania. Limit wynosi 36 znaków ASCII. Zalecany jest losowy identyfikator UUID. Ta prośba jest idempotentna tylko wtedy, gdy podano wartość requestId.

Treść odpowiedzi

Jeśli operacja się uda, treść odpowiedzi będzie pusta.

Zakresy autoryzacji

Wymaga następującego zakresu OAuth:

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

Więcej informacji znajdziesz w przewodniku po autoryzacji.

VariableData

Reprezentuje dane zmienne, które mogą zawierać wiele wartości różnych typów.

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

boolean

wartości logiczne,

integerValues[]

string (int64 format)

Wartości całkowite.

stringValues[]

string

Wartości typu ciąg znaków.

timestampValues[]

string (Timestamp format)

Wartości sygnatury czasowej.

Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" lub "2014-10-02T15:01:23+05:30".

resourceReferences[]

string

Lista identyfikatorów zasobów (np. „spaces/123”).

resourceDataValues[]

object (ResourceData)

Lista danych zasobu.

emailAddressValues[]

string

Wartości adresów e-mail.

users[]

string

Wartości użytkowników Google w formacie users/{user}.

ResourceData

Wartość zasobu specyficzna dla aplikacji.

Zapis JSON
{
  "fields": {
    string: {
      object (VariableData)
    },
    ...
  }
}
Pola
fields

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

Mapa pól zasobu z kluczami w postaci nazw pól.

Obiekt zawierający listę par "key": value. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }

TextFormat

Blok tekstu z opcjami formatowania, w tym stylami, hiperlinkami i elementami interaktywnymi.

Zapis JSON
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
Pola
textFormatElements[]

object (TextFormatElement)

Opcjonalnie: Zbiór elementów formatowania tekstu.

TextFormatElement

Pojedynczy element w wiadomości WorkflowTextFormatMarkup, który może być elementem interaktywnym, sformatowanym tekstem, hiperlinkiem lub kontenerem listy.

Zapis JSON
{

  "text": string,
  "chip": {
    object (Chip)
  },
  "styledText": {
    object (StyledText)
  },
  "hyperlink": {
    object (Hyperlink)
  },
  "listContainer": {
    object (ListContainer)
  }
}
Pola
Pole zbiorcze element. Element reprezentujący jeden z kilku możliwych elementów formatu tekstu. element może mieć tylko jedną z tych wartości:
text

string

Tekst w formacie tekstowym.

chip

object (Chip)

Klikalny element w formacie tekstowym.

styledText

object (StyledText)

Sformatowany tekst w formacie tekstowym.

listContainer

object (ListContainer)

Kontener listy w formacie tekstowym.

Chip

Klikalny element w formacie tekstowym.

Zapis JSON
{
  "icon": {
    object (Icon)
  },
  "label": string,
  "url": string
}
Pola
icon

object (Icon)

Opcjonalnie: Ikona wyświetlana na kafelku.

label

string

Opcjonalnie: Tekst wyświetlany w elemencie.

url

string

Opcjonalnie: Adres URL, do którego prowadzi kliknięcie elementu.

Ikona

Ikona w elemencie.

Zapis JSON
{

  "iconUrl": string,
  "materialIcon": string
}
Pola
Pole zbiorcze icons. Ikona wyświetlana na kafelku. icons może mieć tylko jedną z tych wartości:
iconUrl

string

Wyświetlanie ikony niestandardowej hostowanej pod adresem URL HTTPS.

Na przykład:

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

Obsługiwane typy plików to .png.jpg.

materialIcon

string

Nazwa ikony zdefiniowana w Google Material Icon, np. check_box. Nieprawidłowe nazwy są odrzucane i zastępowane pustym ciągiem znaków, co powoduje, że ikona nie jest renderowana.

StyledText

Element tekstowy ze stylami, takimi jak pogrubienie, kursywa i kolor.

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

string

Opcjonalnie: Główna treść tekstu.

styles[]

enum (Style)

Opcjonalnie: Zbiór stylów zastosowanych do tekstu.

fontWeight

enum (FontWeight)

Opcjonalnie: Grubość czcionki tekstu.

color

object (Color)

Opcjonalnie: Kolor tekstu.

wrapStyle

enum (WrapStyle)

Opcjonalnie: Styl zawijania tekstu.

Styl

Wyliczenie różnych stylów tekstu, takich jak kursywa, podkreślenie itp.

Wartości w polu enum
STYLE_UNSPECIFIED Nie zastosowano żadnego stylu.
ITALIC Styl kursywy.
UNDERLINE Styl podkreślenia.
STRIKETHROUGH Styl przekreślenia.
LINE_BREAK Podział wiersza.
UPPERCASE Styl wielkich liter.
CODE Koduj.
CODE_BLOCK Blok kodu.

FontWeight

Wyliczenie różnych grubości czcionki.

Wartości w polu enum
FONT_WEIGHT_UNSPECIFIED Standardowa waga o normalnej grubości.
LIGHT Lżejszy i cieńszy.
MEDIUM Pośrednia grubość między cienką a pogrubioną.
BOLD Cięższy papier o większej grubości.

Kolor

Reprezentuje kolor w przestrzeni barw RGBA. Ta reprezentacja została zaprojektowana z myślą o łatwości konwersji na reprezentacje kolorów w różnych językach i z nich, a nie o kompaktowości. Na przykład pola tej reprezentacji można w prosty sposób przekazać do konstruktora java.awt.Color w języku Java, do metody +colorWithRed:green:blue:alpha w iOS, a także po niewielkich modyfikacjach do ciągu znaków CSS rgba() w JavaScript.

Na tej stronie referencyjnej nie ma informacji o bezwzględnej przestrzeni kolorów, która powinna być używana do interpretowania wartości RGB, np. sRGB, Adobe RGB, DCI-P3 i BT.2020. Domyślnie aplikacje powinny zakładać przestrzeń kolorów sRGB.

Jeśli trzeba określić, czy dwa kolory są równe, implementacje, o ile nie podano inaczej, traktują dwa kolory jako równe, jeśli wszystkie ich wartości czerwieni, zieleni, niebieskiego i alfa różnią się od siebie o maksymalnie 1e-5.

Przykład (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();
 }
 // ...

Przykład (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;
}
// ...

Przykład (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('');
};

// ...
Zapis JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Pola
red

number

Ilość czerwieni w kolorze jako wartość z przedziału [0, 1].

green

number

Ilość zieleni w kolorze jako wartość z przedziału [0, 1].

blue

number

Ilość niebieskiego w kolorze jako wartość z przedziału [0, 1].

alpha

number

Ułamek tego koloru, który ma zostać zastosowany do piksela. Oznacza to, że ostateczny kolor piksela jest określany przez to równanie:

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

Oznacza to, że wartość 1,0 odpowiada jednolitemu kolorowi, a wartość 0,0 – całkowicie przezroczystemu kolorowi. Używa to komunikatu opakowującego zamiast prostego skalaru zmiennoprzecinkowego, dzięki czemu można odróżnić wartość domyślną od wartości nieustawionej. Jeśli ten obiekt koloru zostanie pominięty, będzie renderowany jako jednolity kolor (tak jakby wartość alfa miała wartość 1,0).

WrapStyle

Wyliczenie różnych stylów zawijania.

Wartości w polu enum
WRAP_STYLE_UNSPECIFIED Nie określono stylu zawijania.
NO_WRAP Brak stylu zawijania.

ListContainer

Kontener elementów listy, w którym każdy element listy może zawierać wiele elementów TextFormatElement.

Zapis JSON
{
  "listNestLevel": string,
  "listType": enum (ListType),
  "listItems": [
    {
      object (ListItem)
    }
  ]
}
Pola
listNestLevel

string (int64 format)

Opcjonalnie: Poziom zagnieżdżenia listy. Zaczyna się od 0 w przypadku listy najwyższego poziomu i zwiększa się o 1 w przypadku każdej listy zagnieżdżonej.

listType

enum (ListType)

Opcjonalnie: Typ listy.

listItems[]

object (ListItem)

Opcjonalnie: Zbiór elementów listy.

ListType

Wyliczenie różnych typów list.

Wartości w polu enum
LIST_TYPE_UNSPECIFIED Nie określono typu listy.
ORDERED Lista uporządkowana.
UNORDERED Lista nieuporządkowana.

ListItem

Element listy.

Zapis JSON
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
Pola
textFormatElements[]

object (TextFormatElement)

Opcjonalnie: Zbiór elementów formatowania tekstu.