Method: triggers.fire

แจ้งให้ Google ทราบว่าเหตุการณ์ทริกเกอร์เกิดขึ้นแล้ว

คำขอ HTTP

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

URL ใช้ไวยากรณ์การแปลงรหัส gRPC

พารามิเตอร์เส้นทาง

พารามิเตอร์
name

string

ต้องระบุ ชื่อทรัพยากรของทริกเกอร์ รูปแบบ: triggers/{trigger_id}

เนื้อความของคำขอ

เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

การแสดง JSON
{
  "outputs": {
    string: {
      object (VariableData)
    },
    ...
  },
  "log": {
    object (TextFormat)
  },
  "requestId": string
}
ฟิลด์
outputs

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

ไม่บังคับ ตัวแปรเอาต์พุตจากเหตุการณ์ทริกเกอร์ในแอปพลิเคชันของบุคคลที่สาม

ออบเจ็กต์ที่มีรายการคู่ "key": value เช่น { "name": "wrench", "mass": "1.3kg", "count": "3" }

log

object (TextFormat)

ไม่บังคับ บันทึกที่แสดงต่อผู้ใช้สำหรับเหตุการณ์ทริกเกอร์ (ไม่บังคับ)

requestId

string

ไม่บังคับ ตัวระบุที่ไม่ซ้ำกันสำหรับคำขอนี้ จำกัดไว้ที่อักขระ ASCII 36 ตัว ขอแนะนำให้ใช้ UUID แบบสุ่ม คำขอนี้จะไม่มีการเปลี่ยนแปลงซ้ำก็ต่อเมื่อมีการระบุ requestId

เนื้อหาการตอบกลับ

หากทำสำเร็จ เนื้อหาการตอบกลับจะว่างเปล่า

ขอบเขตการให้สิทธิ์

ต้องใช้ขอบเขต OAuth ต่อไปนี้

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

ดูข้อมูลเพิ่มเติมได้ที่คู่มือการให้สิทธิ์

VariableData

แสดงข้อมูลตัวแปรซึ่งสามารถมีค่าหลายค่าของประเภทต่างๆ

การแสดง JSON
{
  "booleanValues": [
    boolean
  ],
  "integerValues": [
    string
  ],
  "stringValues": [
    string
  ],
  "timestampValues": [
    string
  ],
  "resourceReferences": [
    string
  ],
  "resourceDataValues": [
    {
      object (ResourceData)
    }
  ],
  "emailAddressValues": [
    string
  ],
  "users": [
    string
  ]
}
ช่อง
booleanValues[]

boolean

ค่าบูลีน

integerValues[]

string (int64 format)

ค่าจำนวนเต็ม

stringValues[]

string

ค่าสตริง

timestampValues[]

string (Timestamp format)

ค่าการประทับเวลา

ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" หรือ "2014-10-02T15:01:23+05:30"

resourceReferences[]

string

รายการรหัสทรัพยากร (เช่น "spaces/123")

resourceDataValues[]

object (ResourceData)

รายการข้อมูลทรัพยากร

emailAddressValues[]

string

ค่าอีเมล

users[]

string

ค่าผู้ใช้ Google ในรูปแบบ users/{user}

ResourceData

ค่าทรัพยากรเฉพาะแอปพลิเคชัน

การแสดง JSON
{
  "fields": {
    string: {
      object (VariableData)
    },
    ...
  }
}
ช่อง
fields

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

แผนที่ของฟิลด์ทรัพยากรที่คีย์ตามชื่อฟิลด์

ออบเจ็กต์ที่มีรายการคู่ "key": value เช่น { "name": "wrench", "mass": "1.3kg", "count": "3" }

TextFormat

บล็อกข้อความที่มีตัวเลือกการจัดรูปแบบ Rich Text ซึ่งรวมถึงสไตล์ ไฮเปอร์ลิงก์ และองค์ประกอบแบบอินเทอร์แอกทีฟ

การแสดง JSON
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
ฟิลด์
textFormatElements[]

object (TextFormatElement)

ไม่บังคับ คอลเล็กชันขององค์ประกอบรูปแบบข้อความ

TextFormatElement

องค์ประกอบเดียวภายในข้อความ WorkflowTextFormatMarkup ซึ่งอาจเป็นชิป ข้อความที่มีสไตล์ ไฮเปอร์ลิงก์ หรือคอนเทนเนอร์รายการ

การแสดง JSON
{

  "text": string,
  "chip": {
    object (Chip)
  },
  "styledText": {
    object (StyledText)
  },
  "hyperlink": {
    object (Hyperlink)
  },
  "listContainer": {
    object (ListContainer)
  }
}
ช่อง
ฟิลด์ Union element องค์ประกอบที่แสดงถึงองค์ประกอบรูปแบบข้อความที่เป็นไปได้หลายรายการ element ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
text

string

ข้อความในรูปแบบข้อความ

chip

object (Chip)

ชิปที่คลิกได้ในรูปแบบข้อความ

styledText

object (StyledText)

ข้อความที่มีการจัดรูปแบบในรูปแบบข้อความ

listContainer

object (ListContainer)

ที่เก็บรายการในรูปแบบข้อความ

ชิป

ชิปที่คลิกได้ในรูปแบบข้อความ

การแสดง JSON
{
  "icon": {
    object (Icon)
  },
  "label": string,
  "url": string
}
ฟิลด์
icon

object (Icon)

ไม่บังคับ ไอคอนที่แสดงในชิป

label

string

ไม่บังคับ ข้อความที่แสดงในชิป

url

string

ไม่บังคับ URL ที่จะไปยังเมื่อคลิกชิป

ไอคอน

ไอคอนในชิป

การแสดง JSON
{

  "iconUrl": string,
  "materialIcon": string
}
ช่อง
ฟิลด์ Union icons ไอคอนที่แสดงในชิป icons ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
iconUrl

string

แสดงไอคอนที่กำหนดเองซึ่งโฮสต์ที่ HTTPS URL

เช่น

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

ประเภทไฟล์ที่รองรับ ได้แก่ .png และ .jpg

materialIcon

string

ชื่อไอคอนที่กำหนดไว้ใน Google Material Icon เช่น check_box ระบบจะทิ้งชื่อที่ไม่ถูกต้องและแทนที่ด้วยสตริงว่างเปล่า ซึ่งจะส่งผลให้ไอคอนแสดงผลไม่สำเร็จ

StyledText

องค์ประกอบของข้อความที่มีรูปแบบ เช่น ตัวหนา ตัวเอียง และสี

การแสดง JSON
{
  "text": string,
  "styles": [
    enum (Style)
  ],
  "fontWeight": enum (FontWeight),
  "color": {
    object (Color)
  },
  "wrapStyle": enum (WrapStyle)
}
ฟิลด์
text

string

ไม่บังคับ เนื้อหาหลักของข้อความ

styles[]

enum (Style)

ไม่บังคับ ชุดรูปแบบที่ใช้กับข้อความ

fontWeight

enum (FontWeight)

ไม่บังคับ น้ำหนักแบบอักษรของข้อความ

color

object (Color)

ไม่บังคับ สีของข้อความ

wrapStyle

enum (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

number

ปริมาณสีแดงในสีเป็นค่าในช่วง [0, 1]

green

number

ปริมาณสีเขียวในสีเป็นค่าในช่วง [0, 1]

blue

number

ปริมาณสีน้ำเงินในสีเป็นค่าในช่วง [0, 1]

alpha

number

เศษส่วนของสีนี้ที่ควรใช้กับพิกเซล กล่าวคือ สีพิกเซลสุดท้ายจะกำหนดโดยสมการต่อไปนี้

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

ซึ่งหมายความว่าค่า 1.0 จะสอดคล้องกับสีทึบ ในขณะที่ค่า 0.0 จะสอดคล้องกับสีโปร่งใสทั้งหมด ซึ่งใช้ข้อความ Wrapper แทนสเกลาร์แบบลอยตัวอย่างง่ายเพื่อให้แยกความแตกต่างระหว่างค่าเริ่มต้นกับค่าที่ไม่ได้ตั้งค่าได้ หากละเว้นไว้ ระบบจะแสดงออบเจ็กต์สีนี้เป็นสีทึบ (ราวกับว่าค่าอัลฟ่าได้รับค่า 1.0 อย่างชัดเจน)

WrapStyle

Enum สำหรับรูปแบบการตัดคำต่างๆ

Enum
WRAP_STYLE_UNSPECIFIED ไม่ได้ระบุรูปแบบการตัดข้อความ
NO_WRAP ไม่มีรูปแบบการตัดคำ

ListContainer

คอนเทนเนอร์สำหรับรายการในลิสต์ ซึ่งแต่ละรายการในลิสต์อาจมี TextFormatElement หลายรายการ

การแสดง JSON
{
  "listNestLevel": string,
  "listType": enum (ListType),
  "listItems": [
    {
      object (ListItem)
    }
  ]
}
ฟิลด์
listNestLevel

string (int64 format)

ไม่บังคับ ระดับการซ้อนของรายการ เริ่มต้นจาก 0 สำหรับระดับบนสุด และเพิ่มขึ้นทีละ 1 สำหรับแต่ละรายการที่ซ้อนกัน

listType

enum (ListType)

ไม่บังคับ ประเภทของรายการ

listItems[]

object (ListItem)

ไม่บังคับ คอลเล็กชันของรายการในลิสต์

ListType

Enum สำหรับรายการประเภทต่างๆ

Enum
LIST_TYPE_UNSPECIFIED ไม่ได้ระบุประเภทรายการ
ORDERED รายการตามลำดับ
UNORDERED รายการที่ไม่เรียงลำดับ

ListItem

รายการในลิสต์

การแสดง JSON
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
ฟิลด์
textFormatElements[]

object (TextFormatElement)

ไม่บังคับ คอลเล็กชันขององค์ประกอบรูปแบบข้อความ