Method: triggers.fire

به گوگل اطلاع می‌دهد که یک رویداد محرک رخ داده است.

درخواست HTTP

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

این URL از سینتکس Transcoding در gRPC استفاده می‌کند.

پارامترهای مسیر

پارامترها
name

string

الزامی. نام منبع تریگر. فرمت: triggers/{trigger_id}

درخواست بدنه

بدنه درخواست شامل داده‌هایی با ساختار زیر است:

نمایش JSON
{
  "outputs": {
    string: {
      object (VariableData)
    },
    ...
  },
  "log": {
    object (TextFormat)
  },
  "requestId": string
}
فیلدها
outputs

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

اختیاری. متغیرهای خروجی از رویداد تریگر در برنامه 3P.

یک شیء شامل لیستی از جفت‌های "key": value . مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

log

object ( TextFormat )

اختیاری. گزارش مواجهه کاربر برای رویداد محرک اختیاری است.

requestId

string

اختیاری. یک شناسه منحصر به فرد برای این درخواست. محدود به ۳۶ کاراکتر ASCII. یک UUID تصادفی توصیه می‌شود. این درخواست فقط در صورتی خود-توان است که یک requestId ارائه شود.

بدنه پاسخ

در صورت موفقیت، بدنه پاسخ خالی است.

دامنه‌های مجوز

به محدوده OAuth زیر نیاز دارد:

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

برای اطلاعات بیشتر، به راهنمای مجوز مراجعه کنید.

داده‌های متغیر

نشان‌دهنده داده‌های متغیر است که می‌توانند مقادیر متعددی از انواع مختلف را در خود نگه دارند.

نمایش 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-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده می‌کند. آفست‌های غیر از "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

مقادیر کاربر گوگل در قالب users/{user} .

منابع داده

مقدار منبع خاص برنامه.

نمایش JSON
{
  "fields": {
    string: {
      object (VariableData)
    },
    ...
  }
}
فیلدها
fields

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

نقشه‌ای از فیلدهای منابع که با نام فیلد کلیدگذاری شده‌اند.

یک شیء شامل لیستی از جفت‌های "key": value . مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

قالب متن

بلوکی از متن با گزینه‌های قالب‌بندی غنی شامل سبک‌ها، هایپرلینک‌ها و عناصر تعاملی.

نمایش JSON
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
فیلدها
textFormatElements[]

object ( TextFormatElement )

اختیاری. مجموعه‌ای از عناصر قالب‌بندی متن.

عنصر قالب متن

یک عنصر واحد در یک پیام WorkflowTextFormatMarkup، که می‌تواند یک تراشه، متن استایل‌دار، یک هایپرلینک یا یک فهرست باشد.

نمایش JSON
{

  "text": string,
  "chip": {
    object (Chip)
  },
  "styledText": {
    object (StyledText)
  },
  "hyperlink": {
    object (Hyperlink)
  },
  "listContainer": {
    object (ListContainer)
  }
}
فیلدها
element فیلد Union. عنصری که یکی از چندین عنصر قالب‌بندی متن ممکن را نشان می‌دهد. 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
}
فیلدها
icons فیلد Union. آیکون نمایش داده شده در چیپ. icons می‌توانند فقط یکی از موارد زیر باشند:
iconUrl

string

یک آیکون سفارشی که در یک URL HTTPS میزبانی می‌شود را نمایش دهید.

برای مثال:

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

انواع فایل‌های پشتیبانی‌شده شامل .png ‎ و .jpg ‎ هستند.

materialIcon

string

نام آیکون تعریف شده در Google Material Icon ، برای مثال، check_box . هر نام نامعتبری رها شده و با رشته خالی جایگزین می‌شود و منجر به عدم نمایش آیکون می‌شود.

متن استایل‌دار

عنصر متن با سبک‌هایی مانند پررنگ، کج و رنگی.

نمایش 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 برای سبک‌های مختلف متن مانند ایتالیک، زیرخط‌دار و غیره

انوم‌ها
STYLE_UNSPECIFIED هیچ سبکی اعمال نشده است.
ITALIC سبک ایتالیک.
UNDERLINE سبک زیرخط دار.
STRIKETHROUGH سبک خط خورده.
LINE_BREAK خط شکنی.
UPPERCASE سبک حروف بزرگ.
CODE کد.
CODE_BLOCK بلوک کد.

وزن فونت

Enum برای وزن‌های مختلف فونت.

انوم‌ها
FONT_WEIGHT_UNSPECIFIED وزن استاندارد با ضخامت معمولی.
LIGHT وزن سبک‌تر با ضخامت کمتر.
MEDIUM وزن متوسطی بین روشن و پررنگ.
BOLD وزن سنگین‌تر با ضخامت بیشتر.

رنگ

یک رنگ را در فضای رنگی RGBA نشان می‌دهد. این نمایش برای سادگی تبدیل به و از نمایش‌های رنگ در زبان‌های مختلف، به دلیل فشرده بودن، طراحی شده است. به عنوان مثال، فیلدهای این نمایش را می‌توان به صورت بدیهی در اختیار سازنده‌ی java.awt.Color در جاوا قرار داد؛ همچنین می‌توان آن را به صورت بدیهی در اختیار متد +colorWithRed:green:blue:alpha در UIColor در iOS قرار داد؛ و با کمی کار، می‌توان آن را به راحتی در یک رشته‌ی rgba() در CSS در جاوااسکریپت قالب‌بندی کرد.

این صفحه مرجع اطلاعاتی در مورد فضای رنگی مطلق که باید برای تفسیر مقدار RGB استفاده شود - برای مثال، sRGB، Adobe RGB، DCI-P3 و BT.2020 - ندارد. به طور پیش‌فرض، برنامه‌ها باید فضای رنگی sRGB را در نظر بگیرند.

وقتی نیاز به تصمیم‌گیری در مورد برابری رنگ‌ها باشد، پیاده‌سازی‌ها، مگر اینکه خلاف آن مستند شده باشد، دو رنگ را در صورتی برابر در نظر می‌گیرند که تمام مقادیر قرمز، سبز، آبی و آلفای آنها حداکثر 1e-5 با هم تفاوت داشته باشند.

مثال (جاوا):

 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;
}
// ...

مثال (جاوااسکریپت):

// ...

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)

این بدان معناست که مقدار ۱.۰ مربوط به یک رنگ ثابت است، در حالی که مقدار ۰.۰ مربوط به یک رنگ کاملاً شفاف است. این روش به جای یک عدد اعشاری ساده، از یک پیام پوششی استفاده می‌کند تا بتوان بین مقدار پیش‌فرض و مقداری که تنظیم نشده است، تمایز قائل شد. در صورت حذف، این شیء رنگ به صورت یک رنگ ثابت رندر می‌شود (گویی به مقدار آلفا به صراحت مقدار ۱.۰ داده شده است).

سبک بسته‌بندی

Enum برای سبک‌های مختلف پوشش.

انوم‌ها
WRAP_STYLE_UNSPECIFIED هیچ سبک بسته‌بندی مشخص نشده است.
NO_WRAP بدون سبک بسته بندی.

فهرست کانتینر

ظرفی برای آیتم‌های لیست، که در آن هر آیتم لیست می‌تواند شامل چندین TextFormatElement باشد.

نمایش JSON
{
  "listNestLevel": string,
  "listType": enum (ListType),
  "listItems": [
    {
      object (ListItem)
    }
  ]
}
فیلدها
listNestLevel

string ( int64 format)

اختیاری. سطح تودرتوی لیست. از ۰ برای سطح بالا شروع می‌شود و برای هر لیست تودرتو ۱ واحد افزایش می‌یابد.

listType

enum ( ListType )

اختیاری. نوع لیست.

listItems[]

object ( ListItem )

اختیاری. مجموعه‌ای از آیتم‌های لیست.

نوع لیست

Enum برای انواع مختلف لیست.

انوم‌ها
LIST_TYPE_UNSPECIFIED نوع فهرست مشخص نشده است.
ORDERED لیست مرتب شده.
UNORDERED لیست نامرتب.

آیتم لیست

یک مورد فهرست.

نمایش JSON
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
فیلدها
textFormatElements[]

object ( TextFormatElement )

اختیاری. مجموعه‌ای از عناصر قالب‌بندی متن.