- คำขอ HTTP
- พารามิเตอร์เส้นทาง
- เนื้อหาคำขอ
- เนื้อหาการตอบกลับ
- ขอบเขตการให้สิทธิ์
- VariableData
- ResourceData
- TextFormat
- TextFormatElement
- ชิป
- ไอคอน
- StyledText
- สไตล์
- FontWeight
- สี
- WrapStyle
- Hyperlink
- ListContainer
- ListType
- ListItem
- ลองใช้งาน
แจ้งให้ Google ทราบว่าเหตุการณ์ทริกเกอร์เกิดขึ้นแล้ว
คำขอ HTTP
POST https://workspacestudio.googleapis.com/v1/{name=triggers/*}:fire
URL ใช้ไวยากรณ์การแปลงรหัส gRPC
พารามิเตอร์เส้นทาง
| พารามิเตอร์ | |
|---|---|
name |
ต้องระบุ ชื่อทรัพยากรของทริกเกอร์ รูปแบบ: triggers/{trigger_id} |
เนื้อความของคำขอ
เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
| การแสดง JSON |
|---|
{ "outputs": { string: { object ( |
| ฟิลด์ | |
|---|---|
outputs |
ไม่บังคับ ตัวแปรเอาต์พุตจากเหตุการณ์ทริกเกอร์ในแอปพลิเคชันของบุคคลที่สาม ออบเจ็กต์ที่มีรายการคู่ |
log |
ไม่บังคับ บันทึกที่แสดงต่อผู้ใช้สำหรับเหตุการณ์ทริกเกอร์ (ไม่บังคับ) |
requestId |
ไม่บังคับ ตัวระบุที่ไม่ซ้ำกันสำหรับคำขอนี้ จำกัดไว้ที่อักขระ ASCII 36 ตัว ขอแนะนำให้ใช้ UUID แบบสุ่ม คำขอนี้จะไม่มีการเปลี่ยนแปลงซ้ำก็ต่อเมื่อมีการระบุ |
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะว่างเปล่า
ขอบเขตการให้สิทธิ์
ต้องใช้ขอบเขต OAuth ต่อไปนี้
https://www.googleapis.com/auth/workspace.studio.trigger
ดูข้อมูลเพิ่มเติมได้ที่คู่มือการให้สิทธิ์
VariableData
แสดงข้อมูลตัวแปรซึ่งสามารถมีค่าหลายค่าของประเภทต่างๆ
| การแสดง JSON |
|---|
{
"booleanValues": [
boolean
],
"integerValues": [
string
],
"stringValues": [
string
],
"timestampValues": [
string
],
"resourceReferences": [
string
],
"resourceDataValues": [
{
object ( |
| ช่อง | |
|---|---|
booleanValues[] |
ค่าบูลีน |
integerValues[] |
ค่าจำนวนเต็ม |
stringValues[] |
ค่าสตริง |
timestampValues[] |
ค่าการประทับเวลา ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น |
resourceReferences[] |
รายการรหัสทรัพยากร (เช่น "spaces/123") |
resourceDataValues[] |
รายการข้อมูลทรัพยากร |
emailAddressValues[] |
ค่าอีเมล |
users[] |
ค่าผู้ใช้ Google ในรูปแบบ |
ResourceData
ค่าทรัพยากรเฉพาะแอปพลิเคชัน
| การแสดง JSON |
|---|
{
"fields": {
string: {
object ( |
| ช่อง | |
|---|---|
fields |
แผนที่ของฟิลด์ทรัพยากรที่คีย์ตามชื่อฟิลด์ ออบเจ็กต์ที่มีรายการคู่ |
TextFormat
บล็อกข้อความที่มีตัวเลือกการจัดรูปแบบ Rich Text ซึ่งรวมถึงสไตล์ ไฮเปอร์ลิงก์ และองค์ประกอบแบบอินเทอร์แอกทีฟ
| การแสดง JSON |
|---|
{
"textFormatElements": [
{
object ( |
| ฟิลด์ | |
|---|---|
textFormatElements[] |
ไม่บังคับ คอลเล็กชันขององค์ประกอบรูปแบบข้อความ |
TextFormatElement
องค์ประกอบเดียวภายในข้อความ WorkflowTextFormatMarkup ซึ่งอาจเป็นชิป ข้อความที่มีสไตล์ ไฮเปอร์ลิงก์ หรือคอนเทนเนอร์รายการ
| การแสดง JSON |
|---|
{ "text": string, "chip": { object ( |
| ช่อง | |
|---|---|
ฟิลด์ Union element องค์ประกอบที่แสดงถึงองค์ประกอบรูปแบบข้อความที่เป็นไปได้หลายรายการ element ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
text |
ข้อความในรูปแบบข้อความ |
chip |
ชิปที่คลิกได้ในรูปแบบข้อความ |
styledText |
ข้อความที่มีการจัดรูปแบบในรูปแบบข้อความ |
hyperlink |
ไฮเปอร์ลิงก์ในรูปแบบข้อความ |
listContainer |
ที่เก็บรายการในรูปแบบข้อความ |
ชิป
ชิปที่คลิกได้ในรูปแบบข้อความ
| การแสดง JSON |
|---|
{
"icon": {
object ( |
| ฟิลด์ | |
|---|---|
icon |
ไม่บังคับ ไอคอนที่แสดงในชิป |
label |
ไม่บังคับ ข้อความที่แสดงในชิป |
url |
ไม่บังคับ URL ที่จะไปยังเมื่อคลิกชิป |
ไอคอน
ไอคอนในชิป
| การแสดง JSON |
|---|
{ "iconUrl": string, "materialIcon": string } |
| ช่อง | |
|---|---|
ฟิลด์ Union icons ไอคอนที่แสดงในชิป icons ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
iconUrl |
แสดงไอคอนที่กำหนดเองซึ่งโฮสต์ที่ HTTPS URL เช่น ประเภทไฟล์ที่รองรับ ได้แก่ |
materialIcon |
ชื่อไอคอนที่กำหนดไว้ใน Google Material Icon เช่น |
StyledText
องค์ประกอบของข้อความที่มีรูปแบบ เช่น ตัวหนา ตัวเอียง และสี
| การแสดง JSON |
|---|
{ "text": string, "styles": [ enum ( |
| ฟิลด์ | |
|---|---|
text |
ไม่บังคับ เนื้อหาหลักของข้อความ |
styles[] |
ไม่บังคับ ชุดรูปแบบที่ใช้กับข้อความ |
fontWeight |
ไม่บังคับ น้ำหนักแบบอักษรของข้อความ |
color |
ไม่บังคับ สีของข้อความ |
wrapStyle |
ไม่บังคับ รูปแบบการตัดข้อความขึ้นบรรทัดใหม่ |
รูปแบบ
Enum สำหรับรูปแบบข้อความต่างๆ เช่น ตัวเอียง ขีดเส้นใต้ เป็นต้น
| Enum | |
|---|---|
STYLE_UNSPECIFIED |
ไม่ได้ใช้รูปแบบ |
ITALIC |
รูปแบบตัวเอียง |
UNDERLINE |
รูปแบบขีดเส้นใต้ |
STRIKETHROUGH |
รูปแบบขีดทับ |
LINE_BREAK |
ขึ้นบรรทัดใหม่ |
UPPERCASE |
รูปแบบตัวพิมพ์ใหญ่ |
CODE |
เขียนโค้ด |
CODE_BLOCK |
โค้ดบล็อก |
FontWeight
Enum สำหรับน้ำหนักแบบอักษรต่างๆ
| Enum | |
|---|---|
FONT_WEIGHT_UNSPECIFIED |
น้ำหนักมาตรฐานที่มีความหนาปกติ |
LIGHT |
น้ำหนักเบาขึ้นและบางลง |
MEDIUM |
น้ำหนักปานกลางระหว่างแบบบางและแบบหนา |
BOLD |
น้ำหนักมากขึ้นและความหนาเพิ่มขึ้น |
สี
แสดงสีในพื้นที่สี RGBA การแสดงนี้ออกแบบมาเพื่อให้แปลงไปมาระหว่างการแสดงสีในภาษาต่างๆ ได้ง่ายกว่าการเน้นความกะทัดรัด เช่น คุณสามารถระบุฟิลด์ของการแสดงนี้ให้กับตัวสร้างของ java.awt.Color ใน Java ได้อย่างง่ายดาย หรือจะระบุให้กับเมธอด +colorWithRed:green:blue:alpha ของ UIColor ใน iOS ก็ได้ และเพียงแค่ปรับแต่งเล็กน้อย คุณก็จัดรูปแบบให้เป็นสตริง rgba() ของ CSS ใน JavaScript ได้อย่างง่ายดาย
หน้าอ้างอิงนี้ไม่มีข้อมูลเกี่ยวกับพื้นที่สีสัมบูรณ์ที่ควรใช้ในการตีความค่า RGB เช่น sRGB, Adobe RGB, DCI-P3 และ BT.2020 โดยค่าเริ่มต้น แอปพลิเคชันควรใช้พื้นที่สี sRGB
เมื่อต้องตัดสินความเท่ากันของสี การใช้งานจะถือว่าสี 2 สีเท่ากันหากค่าสีแดง สีเขียว สีน้ำเงิน และค่าอัลฟ่าทั้งหมดแตกต่างกันไม่เกิน 1e-5 เว้นแต่จะมีการระบุไว้เป็นอย่างอื่น
ตัวอย่าง (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();
}
// ...
ตัวอย่าง (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;
}
// ...
ตัวอย่าง (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 |
|---|
{ "red": number, "green": number, "blue": number, "alpha": number } |
| ช่อง | |
|---|---|
red |
ปริมาณสีแดงในสีเป็นค่าในช่วง [0, 1] |
green |
ปริมาณสีเขียวในสีเป็นค่าในช่วง [0, 1] |
blue |
ปริมาณสีน้ำเงินในสีเป็นค่าในช่วง [0, 1] |
alpha |
เศษส่วนของสีนี้ที่ควรใช้กับพิกเซล กล่าวคือ สีพิกเซลสุดท้ายจะกำหนดโดยสมการต่อไปนี้
ซึ่งหมายความว่าค่า 1.0 จะสอดคล้องกับสีทึบ ในขณะที่ค่า 0.0 จะสอดคล้องกับสีโปร่งใสทั้งหมด ซึ่งใช้ข้อความ Wrapper แทนสเกลาร์แบบลอยตัวอย่างง่ายเพื่อให้แยกความแตกต่างระหว่างค่าเริ่มต้นกับค่าที่ไม่ได้ตั้งค่าได้ หากละเว้นไว้ ระบบจะแสดงออบเจ็กต์สีนี้เป็นสีทึบ (ราวกับว่าค่าอัลฟ่าได้รับค่า 1.0 อย่างชัดเจน) |
WrapStyle
Enum สำหรับรูปแบบการตัดคำต่างๆ
| Enum | |
|---|---|
WRAP_STYLE_UNSPECIFIED |
ไม่ได้ระบุรูปแบบการตัดข้อความ |
NO_WRAP |
ไม่มีรูปแบบการตัดคำ |
ไฮเปอร์ลิงก์
องค์ประกอบไฮเปอร์ลิงก์ที่มีข้อความและลิงก์
| การแสดง JSON |
|---|
{ "link": string, "text": string } |
| ช่อง | |
|---|---|
link |
ต้องระบุ URL ปลายทางของไฮเปอร์ลิงก์ |
text |
ต้องระบุ ข้อความของไฮเปอร์ลิงก์ |
ListContainer
คอนเทนเนอร์สำหรับรายการในลิสต์ ซึ่งแต่ละรายการในลิสต์อาจมี TextFormatElement หลายรายการ
| การแสดง JSON |
|---|
{ "listNestLevel": string, "listType": enum ( |
| ฟิลด์ | |
|---|---|
listNestLevel |
ไม่บังคับ ระดับการซ้อนของรายการ เริ่มต้นจาก 0 สำหรับระดับบนสุด และเพิ่มขึ้นทีละ 1 สำหรับแต่ละรายการที่ซ้อนกัน |
listType |
ไม่บังคับ ประเภทของรายการ |
listItems[] |
ไม่บังคับ คอลเล็กชันของรายการในลิสต์ |
ListType
Enum สำหรับรายการประเภทต่างๆ
| Enum | |
|---|---|
LIST_TYPE_UNSPECIFIED |
ไม่ได้ระบุประเภทรายการ |
ORDERED |
รายการตามลำดับ |
UNORDERED |
รายการที่ไม่เรียงลำดับ |
ListItem
รายการในลิสต์
| การแสดง JSON |
|---|
{
"textFormatElements": [
{
object ( |
| ฟิลด์ | |
|---|---|
textFormatElements[] |
ไม่บังคับ คอลเล็กชันขององค์ประกอบรูปแบบข้อความ |