Method: triggers.fire

Memberi tahu Google bahwa peristiwa pemicu telah terjadi.

Permintaan HTTP

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

URL ini menggunakan sintaksis gRPC Transcoding.

Parameter jalur

Parameter
name

string

Wajib. Nama resource pemicu. Format: triggers/{trigger_id}

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

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

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

Opsional. Variabel output dari peristiwa pemicu di aplikasi pihak ketiga.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

log

object (TextFormat)

Opsional. Log opsional yang ditampilkan kepada pengguna untuk peristiwa pemicu.

requestId

string

Opsional. ID unik untuk permintaan ini. Dibatasi hingga 36 karakter ASCII. UUID acak direkomendasikan. Permintaan ini hanya bersifat idempoten jika requestId diberikan.

Isi respons

Jika berhasil, isi respons akan kosong.

Cakupan otorisasi

Memerlukan cakupan OAuth berikut:

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

Untuk mengetahui informasi selengkapnya, lihat Panduan otorisasi.

VariableData

Mewakili data variabel, yang dapat menyimpan beberapa nilai dari berbagai jenis.

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

boolean

Nilai boolean.

integerValues[]

string (int64 format)

Nilai bilangan bulat.

stringValues[]

string

Nilai string.

timestampValues[]

string (Timestamp format)

Nilai stempel waktu.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

resourceReferences[]

string

Daftar ID resource (misalnya, "spaces/123").

resourceDataValues[]

object (ResourceData)

Daftar data resource.

emailAddressValues[]

string

Nilai alamat email.

users[]

string

Nilai pengguna Google dalam format users/{user}.

ResourceData

Nilai resource khusus aplikasi.

Representasi JSON
{
  "fields": {
    string: {
      object (VariableData)
    },
    ...
  }
}
Kolom
fields

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

Peta kolom resource yang dikunci dengan nama kolom.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

TextFormat

Blok teks dengan opsi pemformatan lengkap, termasuk gaya, hyperlink, dan elemen interaktif.

Representasi JSON
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
Kolom
textFormatElements[]

object (TextFormatElement)

Opsional. Kumpulan elemen format teks.

TextFormatElement

Satu elemen dalam pesan WorkflowTextFormatMarkup, yang dapat berupa chip, teks bergaya, hyperlink, atau penampung daftar.

Representasi JSON
{

  "text": string,
  "chip": {
    object (Chip)
  },
  "styledText": {
    object (StyledText)
  },
  "hyperlink": {
    object (Hyperlink)
  },
  "listContainer": {
    object (ListContainer)
  }
}
Kolom
Kolom union element. Elemen yang merepresentasikan salah satu dari beberapa kemungkinan elemen format teks. element hanya dapat berupa salah satu dari berikut:
text

string

Teks dalam format teks.

chip

object (Chip)

Chip yang dapat diklik dalam format teks.

styledText

object (StyledText)

Teks yang diformat dalam format teks.

listContainer

object (ListContainer)

Mencantumkan penampung dalam format teks.

Chip

Chip yang dapat diklik dalam format teks.

Representasi JSON
{
  "icon": {
    object (Icon)
  },
  "label": string,
  "url": string
}
Kolom
icon

object (Icon)

Opsional. Ikon yang ditampilkan di chip.

label

string

Opsional. Teks yang ditampilkan di chip.

url

string

Opsional. URL yang akan dibuka saat chip diklik.

Ikon

Ikon dalam chip.

Representasi JSON
{

  "iconUrl": string,
  "materialIcon": string
}
Kolom
Kolom union icons. Ikon yang ditampilkan di chip. icons hanya dapat berupa salah satu dari berikut:
iconUrl

string

Menampilkan ikon kustom yang dihosting di URL HTTPS.

Contoh:

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

Jenis file yang didukung mencakup .png dan .jpg.

materialIcon

string

Nama ikon yang ditentukan di Ikon Material Google, misalnya, check_box. Nama yang tidak valid akan dibatalkan dan diganti dengan string kosong, sehingga ikon gagal dirender.

StyledText

Elemen teks dengan gaya seperti tebal, miring, dan warna.

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

string

Opsional. Konten utama teks.

styles[]

enum (Style)

Opsional. Kumpulan gaya yang diterapkan pada teks.

fontWeight

enum (FontWeight)

Opsional. Ketebalan font teks.

color

object (Color)

Opsional. Warna teks.

wrapStyle

enum (WrapStyle)

Opsional. Gaya penggabungan teks.

Gaya

Enum untuk gaya teks yang berbeda seperti miring, garis bawah, dll.

Enum
STYLE_UNSPECIFIED Tidak ada gaya yang diterapkan.
ITALIC Gaya miring.
UNDERLINE Gaya garis bawah.
STRIKETHROUGH Gaya coret.
LINE_BREAK Jeda baris.
UPPERCASE Gaya huruf besar.
CODE Kembangkan.
CODE_BLOCK Blok kode.

FontWeight

Enum untuk ketebalan font yang berbeda.

Enum
FONT_WEIGHT_UNSPECIFIED Ketebalan standar dengan ketebalan normal.
LIGHT Lebih ringan dengan ketebalan yang lebih kecil.
MEDIUM Ketebalan sedang antara ringan dan tebal.
BOLD Bobot yang lebih berat dengan ketebalan yang lebih besar.

Warna

Mewakili warna dalam ruang warna RGBA. Representasi ini dirancang untuk kesederhanaan konversi ke dan dari representasi warna dalam berbagai bahasa dibandingkan dengan kepadatan. Misalnya, kolom representasi ini dapat diberikan secara sepele ke konstruktor java.awt.Color di Java; juga dapat diberikan secara sepele ke metode +colorWithRed:green:blue:alpha UIColor di iOS; dan, dengan sedikit upaya, dapat diformat dengan mudah menjadi string rgba() CSS di JavaScript.

Halaman referensi ini tidak memiliki informasi tentang ruang warna absolut yang harus digunakan untuk menafsirkan nilai RGB—misalnya, sRGB, Adobe RGB, DCI-P3, dan BT.2020. Secara default, aplikasi harus menggunakan ruang warna sRGB.

Saat kesamaan warna perlu ditentukan, implementasi, kecuali didokumentasikan lain, memperlakukan dua warna sebagai sama jika semua nilai merah, hijau, biru, dan alfanya masing-masing berbeda paling banyak 1e-5.

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

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

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

// ...
Representasi JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Kolom
red

number

Jumlah merah dalam warna sebagai nilai dalam interval [0, 1].

green

number

Jumlah hijau dalam warna sebagai nilai dalam interval [0, 1].

blue

number

Jumlah biru dalam warna sebagai nilai dalam interval [0, 1].

alpha

number

Fraksi warna ini yang harus diterapkan ke piksel. Yaitu, warna piksel akhir ditentukan oleh persamaan:

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

Ini berarti bahwa nilai 1,0 berarti warna solid, sedangkan nilai 0,0 berarti warna yang sepenuhnya transparan. Kode ini menggunakan pesan wrapper, bukan skalar float sederhana sehingga memungkinkan untuk membedakan antara nilai default dan nilai yang tidak disetel. Jika dihilangkan, objek warna ini akan dirender sebagai warna solid (seolah-olah nilai alfa telah secara eksplisit diberikan dengan nilai 1,0).

WrapStyle

Enum untuk gaya pelengkapan yang berbeda.

Enum
WRAP_STYLE_UNSPECIFIED Tidak ada gaya pelengkapan yang ditentukan.
NO_WRAP Tidak ada gaya pelengkapan.

ListContainer

Penampung untuk item daftar, dengan setiap item daftar dapat berisi beberapa TextFormatElement.

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

string (int64 format)

Opsional. Tingkat bersarang dari daftar. Dimulai dari 0 untuk level teratas, dan bertambah 1 untuk setiap daftar bertingkat.

listType

enum (ListType)

Opsional. Jenis daftar.

listItems[]

object (ListItem)

Opsional. Kumpulan item daftar.

ListType

Enum untuk berbagai jenis daftar.

Enum
LIST_TYPE_UNSPECIFIED Tidak ada jenis daftar yang ditentukan.
ORDERED Daftar yang diurutkan.
UNORDERED Daftar yang tidak diurutkan.

ListItem

Item daftar.

Representasi JSON
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
Kolom
textFormatElements[]

object (TextFormatElement)

Opsional. Kumpulan elemen format teks.