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

اختيارية: معرّف فريد لهذا الطلب. يجب أن يتألف من 36 حرفًا من أحرف ASCII. يُنصح باستخدام معرّف فريد عالمي عشوائي. لا يكون هذا الطلب متكررًا إلا إذا تم توفير 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)

حاوية القائمة بتنسيق نصي

شريحة

شريحة قابلة للنقر بتنسيق نصي

تمثيل 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 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)

اختيارية: نمط التفاف النص.

النمط

تعداد لأنماط النصوص المختلفة، مثل النص المائل والمسطّر وما إلى ذلك

عمليات التعداد
STYLE_UNSPECIFIED لم يتم تطبيق أي نمط.
ITALIC نمط مائل
UNDERLINE نمط التسطير
STRIKETHROUGH نمط النص المشطوب
LINE_BREAK فاصل سطر
UPPERCASE نمط الأحرف الكبيرة
CODE الرمز
CODE_BLOCK مجموعة رموز

FontWeight

تعداد لقيم مختلفة لوزن الخط.

عمليات التعداد
FONT_WEIGHT_UNSPECIFIED وزن عادي مع سمك عادي
LIGHT وزن أخف وسُمك أقل
MEDIUM وزن متوسط بين الخفيف والغامق
BOLD وزن أثقل مع زيادة في السُمك

اللون

تمثّل هذه السمة لونًا في مساحة الألوان RGBA. تم تصميم هذا التمثيل ليكون بسيطًا عند التحويل من وإلى تمثيلات الألوان بلغات مختلفة، وذلك على حساب الحجم. على سبيل المثال، يمكن توفير حقول هذا التمثيل بشكل بسيط إلى الدالة الإنشائية java.awt.Color في Java، ويمكن أيضًا توفيرها بشكل بسيط إلى طريقة +colorWithRed:green:blue:alpha في UIColor في نظام التشغيل iOS، ويمكن تنسيقها بسهولة في سلسلة rgba() CSS في JavaScript.

لا تحتوي صفحة المرجع هذه على معلومات حول مساحة الألوان المطلقة التي يجب استخدامها لتفسير قيمة الأحمر والأخضر والأزرق، مثل 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 مع لون شفاف تمامًا. يستخدم هذا النوع رسالة غلاف بدلاً من عدد عشري بسيط حتى يمكن التمييز بين القيمة التلقائية والقيمة التي لم يتم ضبطها. في حال حذفها، يتم عرض عنصر اللون هذا كلون ثابت (كما لو تم منح قيمة ألفا صراحةً القيمة 1.0).

WrapStyle

تعداد لأنماط الالتفاف المختلفة.

عمليات التعداد
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

تعداد لأنواع القوائم المختلفة.

عمليات التعداد
LIST_TYPE_UNSPECIFIED لم يتم تحديد نوع القائمة.
ORDERED قائمة مع ترتيب
UNORDERED قائمة بدون ترتيب

ListItem

تمثّل هذه السمة عنصرًا في قائمة.

تمثيل JSON
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
الحقول
textFormatElements[]

object (TextFormatElement)

اختيارية: مجموعة من عناصر تنسيق النص