- Żądanie HTTP
- Parametry ścieżki
- Treść żądania
- Treść odpowiedzi
- Zakresy autoryzacji
- VariableData
- ResourceData
- TextFormat
- TextFormatElement
- Chip
- Ikona
- StyledText
- Styl
- FontWeight
- Kolor
- WrapStyle
- Hyperlink
- ListContainer
- ListType
- ListItem
- Wypróbuj
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 |
Wymagane. Nazwa zasobu aktywatora. Format: triggers/{trigger_id} |
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
| Zapis JSON |
|---|
{ "outputs": { string: { object ( |
| Pola | |
|---|---|
outputs |
Opcjonalnie: Zmienne wyjściowe zdarzenia aktywującego w aplikacji innej firmy. Obiekt zawierający listę par |
log |
Opcjonalnie: Opcjonalny dziennik zdarzenia aktywującego widoczny dla użytkownika. |
requestId |
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ść |
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 ( |
| Pola | |
|---|---|
booleanValues[] |
wartości logiczne, |
integerValues[] |
Wartości całkowite. |
stringValues[] |
Wartości typu ciąg znaków. |
timestampValues[] |
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: |
resourceReferences[] |
Lista identyfikatorów zasobów (np. „spaces/123”). |
resourceDataValues[] |
Lista danych zasobu. |
emailAddressValues[] |
Wartości adresów e-mail. |
users[] |
Wartości użytkowników Google w formacie |
ResourceData
Wartość zasobu specyficzna dla aplikacji.
| Zapis JSON |
|---|
{
"fields": {
string: {
object ( |
| Pola | |
|---|---|
fields |
Mapa pól zasobu z kluczami w postaci nazw pól. Obiekt zawierający listę par |
TextFormat
Blok tekstu z opcjami formatowania, w tym stylami, hiperlinkami i elementami interaktywnymi.
| Zapis JSON |
|---|
{
"textFormatElements": [
{
object ( |
| Pola | |
|---|---|
textFormatElements[] |
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 ( |
| 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 |
Tekst w formacie tekstowym. |
chip |
Klikalny element w formacie tekstowym. |
styledText |
Sformatowany tekst w formacie tekstowym. |
hyperlink |
hiperlink w formacie tekstowym; |
listContainer |
Kontener listy w formacie tekstowym. |
Chip
Klikalny element w formacie tekstowym.
| Zapis JSON |
|---|
{
"icon": {
object ( |
| Pola | |
|---|---|
icon |
Opcjonalnie: Ikona wyświetlana na kafelku. |
label |
Opcjonalnie: Tekst wyświetlany w elemencie. |
url |
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 |
Wyświetlanie ikony niestandardowej hostowanej pod adresem URL HTTPS. Na przykład: Obsługiwane typy plików to |
materialIcon |
Nazwa ikony zdefiniowana w Google Material Icon, np. |
StyledText
Element tekstowy ze stylami, takimi jak pogrubienie, kursywa i kolor.
| Zapis JSON |
|---|
{ "text": string, "styles": [ enum ( |
| Pola | |
|---|---|
text |
Opcjonalnie: Główna treść tekstu. |
styles[] |
Opcjonalnie: Zbiór stylów zastosowanych do tekstu. |
fontWeight |
Opcjonalnie: Grubość czcionki tekstu. |
color |
Opcjonalnie: Kolor tekstu. |
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 |
Ilość czerwieni w kolorze jako wartość z przedziału [0, 1]. |
green |
Ilość zieleni w kolorze jako wartość z przedziału [0, 1]. |
blue |
Ilość niebieskiego w kolorze jako wartość z przedziału [0, 1]. |
alpha |
Ułamek tego koloru, który ma zostać zastosowany do piksela. Oznacza to, że ostateczny kolor piksela jest określany przez to równanie:
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. |
Hiperlink
Element hiperlinku z tekstem i linkiem.
| Zapis JSON |
|---|
{ "link": string, "text": string } |
| Pola | |
|---|---|
link |
Wymagane. Docelowy adres URL hiperlinku. |
text |
Wymagane. Tekst hiperlinku. |
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 ( |
| Pola | |
|---|---|
listNestLevel |
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 |
Opcjonalnie: Typ listy. |
listItems[] |
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 ( |
| Pola | |
|---|---|
textFormatElements[] |
Opcjonalnie: Zbiór elementów formatowania tekstu. |