- בקשת HTTP
- פרמטרים של נתיבים
- גוף הבקשה
- גוף התגובה
- היקפי הרשאות
- VariableData
- ResourceData
- TextFormat
- TextFormatElement
- Chip
- סמל
- StyledText
- סגנון
- FontWeight
- צבע
- WrapStyle
- Hyperlink
- ListContainer
- ListType
- ListItem
- כדאי לנסות!
הודעה ל-Google על התרחשות של אירוע הפעלה.
בקשת HTTP
POST https://workspacestudio.googleapis.com/v1/{name=triggers/*}:fire
כתובת ה-URL כתובה בתחביר של gRPC Transcoding.
פרמטרים של נתיב
| פרמטרים | |
|---|---|
name |
חובה. שם המשאב של הטריגר. פורמט: triggers/{trigger_id} |
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
| ייצוג JSON |
|---|
{ "outputs": { string: { object ( |
| שדות | |
|---|---|
outputs |
אופציונלי. משתני הפלט מאירוע הטריגר באפליקציית הצד השלישי. אובייקט שמכיל רשימה של |
log |
אופציונלי. יומן אופציונלי שמוצג למשתמשים עבור אירוע הטריגר. |
requestId |
אופציונלי. מזהה ייחודי של הבקשה. מוגבל ל-36 תווים מסוג ASCII. מומלץ להשתמש במזהה ייחודי אוניברסלי (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
בלוק טקסט עם אפשרויות עיצוב עשירות, כולל סגנונות, היפר-קישורים ורכיבים אינטראקטיביים.
| ייצוג JSON |
|---|
{
"textFormatElements": [
{
object ( |
| שדות | |
|---|---|
textFormatElements[] |
אופציונלי. אוסף של אלמנטים בפורמט טקסט. |
TextFormatElement
רכיב יחיד בהודעה של WorkflowTextFormatMarkup, שיכול להיות צ׳יפ, טקסט עם סגנון, היפר-קישור או מאגר רשימה.
| ייצוג JSON |
|---|
{ "text": string, "chip": { object ( |
| שדות | |
|---|---|
שדה איחוד element. רכיב שמייצג אחד מכמה רכיבים אפשריים של פורמט טקסט. הערך element יכול להיות רק אחד מהבאים: |
|
text |
טקסט בפורמט טקסט. |
chip |
צ'יפ שאפשר ללחוץ עליו בפורמט טקסט. |
styledText |
טקסט עם סגנון בפורמט טקסט. |
hyperlink |
היפר-קישור בפורמט טקסט. |
listContainer |
רשימת הקונטיינרים בפורמט טקסט. |
Chip
צ'יפ שאפשר ללחוץ עליו בפורמט טקסט.
| ייצוג JSON |
|---|
{
"icon": {
object ( |
| שדות | |
|---|---|
icon |
אופציונלי. הסמל שמוצג בצ'יפ. |
label |
אופציונלי. הטקסט שמוצג בצ'יפ. |
url |
אופציונלי. כתובת ה-URL שאליה מובילה הלחיצה על הצ'יפ. |
סמל
סמל בצ'יפ.
| ייצוג JSON |
|---|
{ "iconUrl": string, "materialIcon": string } |
| שדות | |
|---|---|
שדה איחוד icons. הסמל שמוצג בצ'יפ. הערך icons יכול להיות רק אחד מהבאים: |
|
iconUrl |
הצגת סמל מותאם אישית שמתארח בכתובת URL מסוג HTTPS. לדוגמה: סוגי הקבצים הנתמכים כוללים |
materialIcon |
שם הסמל שמוגדר בסמל Google Material, לדוגמה, |
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 |
משקל ביניים בין light ל-bold. |
BOLD |
משקל כבד יותר עם עובי מוגדל. |
צבע
מייצג צבע במרחב הצבעים RGBA. הייצוג הזה נועד לפשט את ההמרה לייצוגים של צבעים בשפות שונות, ולאו דווקא להיות קומפקטי. לדוגמה, אפשר לספק את השדות של הייצוג הזה בקלות לקונסטרוקטור של java.awt.Color ב-Java, או לשיטה +colorWithRed:green:blue:alpha של UIColor ב-iOS. בנוסף, אפשר לעצב אותו בקלות למחרוזת rgba() של CSS ב-JavaScript.
בדף ההפניה הזה אין מידע על מרחב הצבעים המוחלט שבו צריך להשתמש כדי לפרש את ערך ה-RGB – למשל, sRGB, Adobe RGB, DCI-P3 ו-BT.2020. כברירת מחדל, האפליקציות צריכות להניח שמרחב הצבעים הוא sRGB.
כשצריך להחליט אם שני צבעים שווים, ההטמעות, אלא אם צוין אחרת, מתייחסות לשני צבעים כשווים אם כל אחד מהערכים שלהם של אדום, ירוק, כחול ואלפא שונה לכל היותר ב-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 |
ללא סגנון גלישה. |
Hyperlink
רכיב היפר-קישור עם טקסט וקישור.
| ייצוג JSON |
|---|
{ "link": string, "text": string } |
| שדות | |
|---|---|
link |
חובה. כתובת היעד של ההיפר-קישור. |
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[] |
אופציונלי. אוסף של אלמנטים בפורמט טקסט. |