Method: triggers.fire

Thông báo cho Google rằng một sự kiện kích hoạt đã xảy ra.

Yêu cầu HTTP

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

URL sử dụng cú pháp Chuyển mã gRPC.

Tham số đường dẫn

Tham số
name

string

Bắt buộc. Tên tài nguyên của điều kiện kích hoạt. Định dạng: triggers/{trigger_id}

Nội dung yêu cầu

Nội dung yêu cầu chứa dữ liệu với cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "outputs": {
    string: {
      object (VariableData)
    },
    ...
  },
  "log": {
    object (TextFormat)
  },
  "requestId": string
}
Trường
outputs

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

Không bắt buộc. Các biến đầu ra từ sự kiện kích hoạt trong ứng dụng bên thứ ba.

Một đối tượng chứa danh sách các cặp "key": value. Ví dụ: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

log

object (TextFormat)

Không bắt buộc. Nhật ký không bắt buộc mà người dùng thấy cho sự kiện kích hoạt.

requestId

string

Không bắt buộc. Giá trị nhận dạng riêng biệt cho yêu cầu này. Chỉ được dùng 36 ký tự ASCII. Bạn nên dùng một UUID ngẫu nhiên. Yêu cầu này chỉ có tính chất luỹ đẳng nếu bạn cung cấp requestId.

Nội dung phản hồi

Nếu thành công, phần nội dung phản hồi sẽ trống.

Phạm vi uỷ quyền

Yêu cầu phạm vi OAuth sau:

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

Để biết thêm thông tin, hãy xem Hướng dẫn uỷ quyền.

VariableData

Biểu thị dữ liệu biến, có thể chứa nhiều giá trị thuộc nhiều loại.

Biểu diễn dưới dạng JSON
{
  "booleanValues": [
    boolean
  ],
  "integerValues": [
    string
  ],
  "stringValues": [
    string
  ],
  "timestampValues": [
    string
  ],
  "resourceReferences": [
    string
  ],
  "resourceDataValues": [
    {
      object (ResourceData)
    }
  ],
  "emailAddressValues": [
    string
  ],
  "users": [
    string
  ]
}
Trường
booleanValues[]

boolean

Giá trị Boolean.

integerValues[]

string (int64 format)

Giá trị số nguyên.

stringValues[]

string

Giá trị chuỗi.

timestampValues[]

string (Timestamp format)

Giá trị dấu thời gian.

Hãy dùng RFC 3339, trong đó dữ liệu đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

resourceReferences[]

string

Danh sách mã nhận dạng tài nguyên (ví dụ: "spaces/123").

resourceDataValues[]

object (ResourceData)

Danh sách dữ liệu tài nguyên.

emailAddressValues[]

string

Giá trị địa chỉ email.

users[]

string

Giá trị người dùng Google ở định dạng users/{user}.

ResourceData

Giá trị tài nguyên dành riêng cho ứng dụng.

Biểu diễn dưới dạng JSON
{
  "fields": {
    string: {
      object (VariableData)
    },
    ...
  }
}
Trường
fields

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

Bản đồ của các trường tài nguyên được khoá theo tên trường.

Một đối tượng chứa danh sách các cặp "key": value. Ví dụ: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

TextFormat

Một khối văn bản có nhiều lựa chọn định dạng, bao gồm cả kiểu, siêu liên kết và các phần tử tương tác.

Biểu diễn dưới dạng JSON
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
Trường
textFormatElements[]

object (TextFormatElement)

Không bắt buộc. Một tập hợp các phần tử định dạng văn bản.

TextFormatElement

Một phần tử duy nhất trong thông báo WorkflowTextFormatMarkup, có thể là một khối văn bản, văn bản có kiểu, siêu liên kết hoặc vùng chứa danh sách.

Biểu diễn dưới dạng JSON
{

  "text": string,
  "chip": {
    object (Chip)
  },
  "styledText": {
    object (StyledText)
  },
  "hyperlink": {
    object (Hyperlink)
  },
  "listContainer": {
    object (ListContainer)
  }
}
Trường
Trường nhóm element. Phần tử đại diện cho một trong số nhiều phần tử định dạng văn bản có thể có. element chỉ có thể là một trong những trạng thái sau:
text

string

Văn bản ở định dạng văn bản.

chip

object (Chip)

Đoạn văn bản có thể nhấp vào ở định dạng văn bản.

styledText

object (StyledText)

Văn bản có kiểu ở định dạng văn bản.

listContainer

object (ListContainer)

Vùng chứa danh sách ở định dạng văn bản.

Khối

Một khối có thể nhấp ở định dạng văn bản.

Biểu diễn dưới dạng JSON
{
  "icon": {
    object (Icon)
  },
  "label": string,
  "url": string
}
Trường
icon

object (Icon)

Không bắt buộc. Biểu tượng xuất hiện trong khối.

label

string

Không bắt buộc. Văn bản xuất hiện trong khối.

url

string

Không bắt buộc. URL để chuyển đến khi nhấp vào khối.

Biểu tượng

Một biểu tượng trong khối.

Biểu diễn dưới dạng JSON
{

  "iconUrl": string,
  "materialIcon": string
}
Trường
Trường nhóm icons. Biểu tượng xuất hiện trong khối. icons chỉ có thể là một trong những trạng thái sau:
iconUrl

string

Hiển thị một biểu tượng tuỳ chỉnh được lưu trữ tại một URL loại HTTPS.

Ví dụ:

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

Các loại tệp được hỗ trợ bao gồm .png.jpg.

materialIcon

string

Tên biểu tượng được xác định trong Biểu tượng Material của Google, ví dụ: check_box. Mọi tên không hợp lệ đều bị loại bỏ và thay thế bằng chuỗi trống, dẫn đến việc biểu tượng không hiển thị được.

StyledText

Phần tử văn bản có các kiểu như in đậm, in nghiêng và màu sắc.

Biểu diễn dưới dạng JSON
{
  "text": string,
  "styles": [
    enum (Style)
  ],
  "fontWeight": enum (FontWeight),
  "color": {
    object (Color)
  },
  "wrapStyle": enum (WrapStyle)
}
Trường
text

string

Không bắt buộc. Nội dung chính của văn bản.

styles[]

enum (Style)

Không bắt buộc. Một tập hợp các kiểu được áp dụng cho văn bản.

fontWeight

enum (FontWeight)

Không bắt buộc. Độ đậm của phông chữ trong văn bản.

color

object (Color)

Không bắt buộc. Màu sắc của văn bản.

wrapStyle

enum (WrapStyle)

Không bắt buộc. Kiểu xuống dòng của văn bản.

Kiểu

Enum cho các kiểu văn bản khác nhau, chẳng hạn như in nghiêng, gạch chân, v.v.

Enum
STYLE_UNSPECIFIED Không áp dụng kiểu nào.
ITALIC Kiểu chữ nghiêng.
UNDERLINE Kiểu gạch dưới.
STRIKETHROUGH Kiểu gạch ngang chữ.
LINE_BREAK Dấu ngắt dòng.
UPPERCASE Kiểu chữ hoa.
CODE Mã.
CODE_BLOCK Khối mã.

FontWeight

Enum cho nhiều độ đậm phông chữ.

Enum
FONT_WEIGHT_UNSPECIFIED Trọng lượng tiêu chuẩn với độ dày bình thường.
LIGHT Trọng lượng nhẹ hơn và độ dày giảm.
MEDIUM Trọng lượng trung bình giữa chữ mỏng và chữ đậm.
BOLD Trọng lượng nặng hơn với độ dày tăng lên.

Màu

Biểu thị một màu trong không gian màu RGBA. Biểu thị này được thiết kế để đơn giản hoá việc chuyển đổi sang và từ biểu thị màu bằng nhiều ngôn ngữ thay vì tính nhỏ gọn. Ví dụ: các trường của biểu thức này có thể được cung cấp một cách đơn giản cho hàm khởi tạo của java.awt.Color trong Java; cũng có thể được cung cấp một cách đơn giản cho phương thức +colorWithRed:green:blue:alpha của UIColor trong iOS; và chỉ cần một chút công sức, bạn có thể dễ dàng định dạng thành chuỗi rgba() CSS trong JavaScript.

Trang tham chiếu này không có thông tin về hệ màu tuyệt đối cần dùng để diễn giải giá trị RGB, chẳng hạn như sRGB, Adobe RGB, DCI-P3 và BT.2020. Theo mặc định, các ứng dụng sẽ giả định hệ màu sRGB.

Khi cần xác định sự bằng nhau về màu sắc, các hoạt động triển khai (trừ phi có tài liệu khác) sẽ coi hai màu là bằng nhau nếu tất cả các giá trị đỏ, xanh lục, xanh lam và alpha của chúng khác nhau nhiều nhất là 1e-5.

Ví dụ (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();
 }
 // ...

Ví dụ (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;
}
// ...

Ví dụ (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('');
};

// ...
Biểu diễn dưới dạng JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Trường
red

number

Lượng màu đỏ trong màu dưới dạng giá trị trong khoảng [0, 1].

green

number

Lượng màu xanh lục trong màu dưới dạng giá trị trong khoảng [0, 1].

blue

number

Lượng màu xanh dương trong màu dưới dạng một giá trị trong khoảng [0, 1].

alpha

number

Phân số của màu này sẽ được áp dụng cho pixel. Tức là màu pixel cuối cùng được xác định bằng phương trình:

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

Điều này có nghĩa là giá trị 1.0 tương ứng với màu đồng nhất, trong khi giá trị 0.0 tương ứng với màu hoàn toàn trong suốt. Thao tác này sử dụng một thông báo bao bọc thay vì một đại lượng vô hướng đơn giản để có thể phân biệt giữa giá trị mặc định và giá trị chưa được đặt. Nếu bị bỏ qua, đối tượng màu này sẽ được hiển thị dưới dạng một màu đồng nhất (như thể giá trị alpha đã được chỉ định rõ ràng là 1.0).

WrapStyle

Liệt kê các kiểu bao bọc khác nhau.

Enum
WRAP_STYLE_UNSPECIFIED Chưa chỉ định kiểu xuống dòng.
NO_WRAP Không có kiểu xuống dòng.

ListContainer

Vùng chứa cho các mục trong danh sách, trong đó mỗi mục trong danh sách có thể chứa nhiều TextFormatElement.

Biểu diễn dưới dạng JSON
{
  "listNestLevel": string,
  "listType": enum (ListType),
  "listItems": [
    {
      object (ListItem)
    }
  ]
}
Trường
listNestLevel

string (int64 format)

Không bắt buộc. Cấp độ lồng ghép của danh sách. Bắt đầu từ 0 cho cấp cao nhất và tăng thêm 1 cho mỗi danh sách lồng nhau.

listType

enum (ListType)

Không bắt buộc. Loại danh sách.

listItems[]

object (ListItem)

Không bắt buộc. Một tập hợp các mục trong danh sách.

ListType

Enum cho các loại danh sách khác nhau.

Enum
LIST_TYPE_UNSPECIFIED Chưa chỉ định loại danh sách.
ORDERED Danh sách theo thứ tự.
UNORDERED Danh sách không theo thứ tự.

ListItem

Một mục trong danh sách.

Biểu diễn dưới dạng JSON
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
Trường
textFormatElements[]

object (TextFormatElement)

Không bắt buộc. Một tập hợp các phần tử định dạng văn bản.