Method: triggers.fire

הודעה ל-Google על התרחשות של אירוע הפעלה.

בקשת HTTP

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

כתובת ה-URL כתובה בתחביר של gRPC Transcoding.

פרמטרים של נתיב

פרמטרים
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

אופציונלי. מזהה ייחודי של הבקשה. מוגבל ל-36 תווים מסוג ASCII. מומלץ להשתמש במזהה ייחודי אוניברסלי (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

בלוק טקסט עם אפשרויות עיצוב עשירות, כולל סגנונות, היפר-קישורים ורכיבים אינטראקטיביים.

ייצוג JSON
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
שדות
textFormatElements[]

object (TextFormatElement)

אופציונלי. אוסף של אלמנטים בפורמט טקסט.

TextFormatElement

רכיב יחיד בהודעה של WorkflowTextFormatMarkup, שיכול להיות צ׳יפ, טקסט עם סגנון, היפר-קישור או מאגר רשימה.

ייצוג JSON
{

  "text": string,
  "chip": {
    object (Chip)
  },
  "styledText": {
    object (StyledText)
  },
  "hyperlink": {
    object (Hyperlink)
  },
  "listContainer": {
    object (ListContainer)
  }
}
שדות
שדה איחוד element. רכיב שמייצג אחד מכמה רכיבים אפשריים של פורמט טקסט. הערך element יכול להיות רק אחד מהבאים:
text

string

טקסט בפורמט טקסט.

chip

object (Chip)

צ'יפ שאפשר ללחוץ עליו בפורמט טקסט.

styledText

object (StyledText)

טקסט עם סגנון בפורמט טקסט.

listContainer

object (ListContainer)

רשימת הקונטיינרים בפורמט טקסט.

Chip

צ'יפ שאפשר ללחוץ עליו בפורמט טקסט.

ייצוג JSON
{
  "icon": {
    object (Icon)
  },
  "label": string,
  "url": string
}
שדות
icon

object (Icon)

אופציונלי. הסמל שמוצג בצ'יפ.

label

string

אופציונלי. הטקסט שמוצג בצ'יפ.

url

string

אופציונלי. כתובת ה-URL שאליה מובילה הלחיצה על הצ'יפ.

סמל

סמל בצ'יפ.

ייצוג JSON
{

  "iconUrl": string,
  "materialIcon": string
}
שדות
שדה איחוד icons. הסמל שמוצג בצ'יפ. הערך icons יכול להיות רק אחד מהבאים:
iconUrl

string

הצגת סמל מותאם אישית שמתארח בכתובת URL מסוג HTTPS.

לדוגמה:

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

סוגי הקבצים הנתמכים כוללים .png ו-.jpg.

materialIcon

string

שם הסמל שמוגדר בסמל Google Material, לדוגמה, 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 משקל ביניים בין 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

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)

אופציונלי. אוסף של אלמנטים בפורמט טקסט.