- طلب 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.
مَعلمات المسار
| المعلمات | |
|---|---|
name |
الحقل مطلوب. اسم المورد الخاص بعامل التشغيل التنسيق: triggers/{trigger_id} |
نص الطلب
يتضمن نص الطلب بيانات بالبنية التالية:
| تمثيل JSON |
|---|
{ "outputs": { string: { object ( |
| الحقول | |
|---|---|
outputs |
اختيارية: متغيّرات الناتج من حدث المشغّل في تطبيق الجهة الخارجية عنصر يحتوي على قائمة بأزواج |
log |
اختيارية: سجلّ اختياري يظهر للمستخدم لحدث التشغيل. |
requestId |
اختيارية: معرّف فريد لهذا الطلب. يجب أن يتألف من 36 حرفًا من أحرف ASCII. يُنصح باستخدام معرّف فريد عالمي عشوائي. لا يكون هذا الطلب متكررًا إلا إذا تم توفير |
نص الاستجابة
إذا كانت الاستجابة ناجحة، سيكون نص الاستجابة فارغًا.
نطاقات الأذونات
يجب توفير نطاق 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 |
حاوية القائمة بتنسيق نصي |
شريحة
شريحة قابلة للنقر بتنسيق نصي
| تمثيل JSON |
|---|
{
"icon": {
object ( |
| الحقول | |
|---|---|
icon |
اختيارية: الرمز المعروض في الشريحة |
label |
اختيارية: النص المعروض في الشريحة |
url |
اختيارية: عنوان URL الذي يتم الانتقال إليه عند النقر على الشريحة |
رمز
أيقونة في الشريحة
| تمثيل JSON |
|---|
{ "iconUrl": string, "materialIcon": string } |
| الحقول | |
|---|---|
حقل الربط icons الرمز المعروض في الشريحة يمكن أن يكون التعليق icons إحدى القيم التالية فقط: |
|
iconUrl |
عرض رمز مخصّص مستضاف على عنوان URL يستخدم HTTPS على سبيل المثال: تشمل أنواع الملفات المتوافقة |
materialIcon |
اسم الرمز المحدّد في Google Material Icon، مثل |
StyledText
عنصر نصي يتضمّن أنماطًا مثل الخط العريض والمائل واللون
| تمثيل JSON |
|---|
{ "text": string, "styles": [ enum ( |
| الحقول | |
|---|---|
text |
اختيارية: تمثّل هذه السمة المحتوى الرئيسي للنص. |
styles[] |
اختيارية: مجموعة من الأنماط المطبَّقة على النص |
fontWeight |
اختيارية: كثافة خط النص |
color |
اختيارية: لون النص |
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 |
تمثّل هذه السمة مقدار اللون الأحمر في اللون كقيمة في الفاصل الزمني [0, 1]. |
green |
مقدار اللون الأخضر في اللون كقيمة في الفترة [0, 1] |
blue |
تمثّل هذه السمة مقدار اللون الأزرق في اللون كقيمة في الفاصل الزمني [0, 1]. |
alpha |
تمثّل هذه السمة جزء اللون الذي يجب تطبيقه على البكسل. أي أنّ لون البكسل النهائي يتم تحديده من خلال المعادلة التالية:
هذا يعني أنّ القيمة 1.0 تتوافق مع لون ثابت، بينما تتوافق القيمة 0.0 مع لون شفاف تمامًا. يستخدم هذا النوع رسالة غلاف بدلاً من عدد عشري بسيط حتى يمكن التمييز بين القيمة التلقائية والقيمة التي لم يتم ضبطها. في حال حذفها، يتم عرض عنصر اللون هذا كلون ثابت (كما لو تم منح قيمة ألفا صراحةً القيمة 1.0). |
WrapStyle
تعداد لأنماط الالتفاف المختلفة.
| عمليات التعداد | |
|---|---|
WRAP_STYLE_UNSPECIFIED |
لم يتم تحديد أي نمط التفاف. |
NO_WRAP |
بلا نمط التفاف |
Hyperlink
عنصر الرابط التشعّبي الذي يتضمّن نصًا ورابطًا
| تمثيل JSON |
|---|
{ "link": string, "text": string } |
| الحقول | |
|---|---|
link |
الحقل مطلوب. تمثّل هذه السمة عنوان URL المقصود للرابط التشعّبي. |
text |
الحقل مطلوب. نص الرابط التشعّبي |
ListContainer
حاوية لعناصر القائمة، حيث يمكن أن يحتوي كل عنصر قائمة على عدة عناصر TextFormatElement.
| تمثيل JSON |
|---|
{ "listNestLevel": string, "listType": enum ( |
| الحقول | |
|---|---|
listNestLevel |
اختيارية: مستوى التداخل في القائمة. يبدأ من 0 للمستوى الأعلى، ويزيد بمقدار 1 لكل قائمة متداخلة. |
listType |
اختيارية: تحدّد هذه السمة نوع القائمة. |
listItems[] |
اختيارية: مجموعة من عناصر القائمة |
ListType
تعداد لأنواع القوائم المختلفة.
| عمليات التعداد | |
|---|---|
LIST_TYPE_UNSPECIFIED |
لم يتم تحديد نوع القائمة. |
ORDERED |
قائمة مع ترتيب |
UNORDERED |
قائمة بدون ترتيب |
ListItem
تمثّل هذه السمة عنصرًا في قائمة.
| تمثيل JSON |
|---|
{
"textFormatElements": [
{
object ( |
| الحقول | |
|---|---|
textFormatElements[] |
اختيارية: مجموعة من عناصر تنسيق النص |