Event

هو حدث تفاعل مع تطبيق Google Chat يمثّل بيانات تفاعل المستخدم مع تطبيق Chat ويتضمّنها. لإعداد تطبيق Chat لتلقّي أحداث التفاعل، يُرجى الاطّلاع على تلقّي تفاعلات المستخدمين والردّ عليها.

بالإضافة إلى تلقّي الأحداث من تفاعلات المستخدمين، يمكن لتطبيقات Chat تلقّي أحداث حول التغييرات التي تطرأ على المساحات، مثل إضافة عضو جديد إلى مساحة. للتعرّف على أحداث المساحة، راجِع التعامل مع الأحداث من Google Chat.

ملاحظة: لا يتم استخدام هذا الحدث إلا لأحداث التفاعل مع Chat. إذا تم إنشاء تطبيق Chat كـ إضافة Google Workspace، يمكنك الاطّلاع على عناصر أحداث Chat في مستندات الإضافات.

تمثيل JSON
{
  "type": enum (EventType),
  "eventTime": string,
  "token": string,
  "threadKey": string,
  "message": {
    object (Message)
  },
  "user": {
    object (User)
  },
  "thread": {
    object (Thread)
  },
  "space": {
    object (Space)
  },
  "action": {
    object (FormAction)
  },
  "configCompleteRedirectUrl": string,
  "isDialogEvent": boolean,
  "dialogEventType": enum (DialogEventType),
  "common": {
    object (CommonEventObject)
  },
  "appCommandMetadata": {
    object (AppCommandMetadata)
  }
}
الحقول
type

enum (EventType)

نوع تفاعل المستخدم مع تطبيق Chat، مثل MESSAGE أو ADDED_TO_SPACE

eventTime

string (Timestamp format)

الطابع الزمني الذي يشير إلى وقت وقوع حدث التفاعل.

token

string

قيمة سرية يمكن لتطبيقات Chat القديمة استخدامها للتحقّق مما إذا كان الطلب واردًا من Google. ينشئ محرّك بحث Google الرمز المميّز بشكل عشوائي، وتبقى قيمته ثابتة. يمكنك الحصول على الرمز المميز أو إبطاله أو إعادة إنشائه من صفحة إعدادات Chat API في Google Cloud Console.

لا تستخدم تطبيقات Chat الحديثة هذا الحقل. لا يظهر في ردود واجهة برمجة التطبيقات وصفحة إعدادات Chat API.

threadKey

string

المفتاح الرئيسي الذي يحدّده تطبيق Chat لسلسلة المحادثات المرتبطة بحدث التفاعل. يمكنك الاطّلاع على spaces.messages.thread.threadKey لمزيد من المعلومات.

message

object (Message)

بالنسبة إلى أحداث التفاعل ADDED_TO_SPACE وCARD_CLICKED وMESSAGE، الرسالة التي أدّت إلى بدء حدث التفاعل، إذا كان ذلك منطبقًا

user

object (User)

المستخدم الذي تفاعل مع تطبيق Chat

thread

object (Thread)

سلسلة المحادثات التي تفاعل فيها المستخدم مع تطبيق Chat، وقد تكون سلسلة محادثات جديدة تم إنشاؤها من خلال رسالة تم إرسالها حديثًا يتم ملء هذا الحقل إذا كان حدث التفاعل مرتبطًا برسالة أو سلسلة محادثات معيّنة.

space

object (Space)

المساحة التي تفاعل فيها المستخدم مع تطبيق Chat

action

object (FormAction)

بالنسبة إلى أحداث التفاعل CARD_CLICKED، بيانات إجراء النموذج المرتبطة عندما ينقر المستخدم على بطاقة أو مربّع حوار لمزيد من المعلومات، يُرجى الاطّلاع على قراءة بيانات النماذج التي أدخلها المستخدمون في البطاقات.

configCompleteRedirectUrl

string

يتم ملء عنوان URL هذا لأحداث التفاعل MESSAGE وADDED_TO_SPACE وAPP_COMMAND. بعد إكمال عملية تفويض أو إعداد خارج Google Chat، يجب إعادة توجيه المستخدمين إلى عنوان URL هذا لإعلام Google Chat بأنّ عملية التفويض أو الإعداد تمت بنجاح. لمزيد من المعلومات، يُرجى الاطّلاع على ربط تطبيق Chat بخدمات وأدوات أخرى.

isDialogEvent

boolean

بالنسبة إلى أحداث التفاعل CARD_CLICKED وMESSAGE، تحدّد هذه السمة ما إذا كان المستخدم يتفاعل مع مربّع حوار أو على وشك التفاعل معه.

dialogEventType

enum (DialogEventType)

نوع حدث التفاعل مع مربّع الحوار الذي تم تلقّيه.

common

object (CommonEventObject)

تمثّل هذه السمة معلومات عن جهاز المستخدم، مثل اللغة والتطبيق المضيف والنظام الأساسي. بالنسبة إلى تطبيقات Chat، تتضمّن CommonEventObject المعلومات التي يرسلها المستخدمون الذين يتفاعلون مع مربّعات الحوار، مثل البيانات التي يتم إدخالها في بطاقة.

appCommandMetadata

object (AppCommandMetadata)

بيانات وصفية حول أمر تطبيق Chat

CommonEventObject

عنصر الحدث المشترك هو جزء من عنصر الحدث العام الذي يحمل معلومات عامة ومستقلة عن المضيف إلى الإضافة من جهاز المستخدم. وتتضمّن هذه المعلومات تفاصيل مثل اللغة المحلية للمستخدم والتطبيق المضيف والنظام الأساسي.

بالإضافة إلى الصفحة الرئيسية وعوامل التشغيل المستندة إلى السياق، تنشئ الإضافات عناصر الأحداث وتمرّرها إلى وظائف معاودة الاتصال بالإجراءات عندما يتفاعل المستخدم مع التطبيقات المصغّرة. يمكن لدالة معاودة الاتصال الخاصة بالإضافة طلب البحث عن عنصر الحدث الشائع لتحديد محتوى الأدوات المفتوحة في برنامج المستخدم. على سبيل المثال، يمكن أن تحدّد الإضافة النص الذي أدخله المستخدم في أداة TextInput في العنصر eventObject.commentEventObject.formInputs.

بالنسبة إلى تطبيقات Chat، اسم الدالة التي استدعاها المستخدم عند التفاعل مع أداة.

تمثيل JSON
{
  "userLocale": string,
  "hostApp": enum (HostApp),
  "platform": enum (Platform),
  "timeZone": {
    object (TimeZone)
  },
  "formInputs": {
    string: {
      object (Inputs)
    },
    ...
  },
  "parameters": {
    string: string,
    ...
  },
  "invokedFunction": string
}
الحقول
userLocale

string

يكون هذا الخيار غير مفعَّل تلقائيًا. معرّف اللغة والبلد/المنطقة الخاص بالمستخدم بتنسيق رمز اللغة ISO 639-رمز البلد/المنطقة ISO 3166 مثلاً: en-US.

لتفعيل هذا الحقل، يجب ضبط addOns.common.useLocaleFromApp على true في ملف بيان الإضافة. يجب أن تتضمّن قائمة نطاقات الإضافة أيضًا https://www.googleapis.com/auth/script.locale. لمزيد من التفاصيل، اطّلِع على الوصول إلى اللغة والمنطقة الزمنية للمستخدم.

hostApp

enum (HostApp)

تشير هذه السمة إلى التطبيق المضيف الذي تكون الإضافة نشطة فيه عند إنشاء عنصر الحدث. تتضمّن القيم المحتمَلة ما يلي:

  • GMAIL
  • CALENDAR
  • DRIVE
  • DOCS
  • SHEETS
  • SLIDES
  • CHAT
platform

enum (Platform)

تعداد النظام الأساسي الذي يشير إلى النظام الأساسي الذي نشأ منه الحدث (WEB أو IOS أو ANDROID). لا تتوافق تطبيقات Chat مع هذا التعداد.

timeZone

object (TimeZone)

يكون هذا الخيار غير مفعَّل تلقائيًا. معرّف المنطقة الزمنية والفرق عن التوقيت العالمي المنسَّق (UTC) لتفعيل هذا الحقل، يجب ضبط addOns.common.useLocaleFromApp على true في ملف بيان الإضافة. يجب أن تتضمّن قائمة نطاقات الإضافة أيضًا https://www.googleapis.com/auth/script.locale. لمزيد من التفاصيل، اطّلِع على الوصول إلى اللغة والمنطقة الزمنية للمستخدم.

لا يتوفّر إلا لنوعَي الأحداث CARD_CLICKED وSUBMIT_DIALOG.

formInputs

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

خريطة تحتوي على القيم الحالية للتطبيقات المصغّرة في البطاقة المعروضة مفاتيح الخريطة هي معرّفات السلسلة التي يتم تخصيصها لكل أداة.

يعتمد بنية عنصر قيمة الخريطة على نوع الأداة:

ملاحظة: تم تنسيق الأمثلة التالية لوقت التشغيل V8 في "برمجة تطبيقات Google". إذا كنت تستخدم وقت تشغيل Rhino، عليك إضافة [""] بعد القيمة. على سبيل المثال، بدلاً من e.commonEventObject.formInputs.employeeName.stringInputs.value[0]، يجب تنسيق عنصر الحدث على النحو التالي: e.commonEventObject.formInputs.employeeName[""].stringInputs.value[0]. لمزيد من المعلومات عن أوقات التشغيل في Apps Script، يُرجى الاطّلاع على نظرة عامة على وقت التشغيل V8.

  • الأدوات ذات القيمة الواحدة (مثل مربّع النص): قائمة من السلاسل (عنصر واحد فقط)

مثال: بالنسبة إلى أداة إدخال نصية تحمل المعرّف employeeName، يمكنك الوصول إلى قيمة الإدخال النصي باستخدام: e.commonEventObject.formInputs.employeeName.stringInputs.value[0].

  • الأدوات المتعددة القيم (مثل مجموعات مربعات الاختيار): قائمة سلاسل

مثال: بالنسبة إلى أداة ذات قيم متعدّدة مع participants كمعرّف لها، يمكنك الوصول إلى مصفوفة القيم باستخدام: e.commonEventObject.formInputs.participants.stringInputs.value.

مثال: بالنسبة إلى أداة اختيار تحمل رقم التعريف myDTPicker، يمكنك الوصول إلى العنصر DateTimeInput باستخدام e.commonEventObject.formInputs.myDTPicker.dateTimeInput.

مثال: بالنسبة إلى أداة اختيار تحمل رقم التعريف myDatePicker، يمكنك الوصول إلى العنصر DateInput باستخدام e.commonEventObject.formInputs.myDatePicker.dateInput.

مثال: بالنسبة إلى أداة اختيار تحمل رقم التعريف myTimePicker، يمكنك الوصول إلى العنصر TimeInput باستخدام e.commonEventObject.formInputs.myTimePicker.timeInput.

parameters

map (key: string, value: string)

أي مَعلمات إضافية تقدّمها لإجراء باستخدام actionParameters أو Action.setParameters()

معاينة المطوّر: بالنسبة إلى الإضافات التي توسّع نطاق Google Chat، لاقتراح عناصر استنادًا إلى ما يكتبه المستخدمون في قوائم الاختيار المتعدد، استخدِم قيمة المفتاح "autocomplete_widget_query" (event.commonEventObject.parameters["autocomplete_widget_query"]). يمكنك استخدام هذه القيمة لطلب البحث في قاعدة بيانات واقتراح عناصر قابلة للاختيار على المستخدمين أثناء الكتابة. لمزيد من التفاصيل، يُرجى الاطّلاع على مقالة جمع المعلومات ومعالجتها من مستخدمي Google Chat.

invokedFunction

string

اسم الدالة المطلوب استدعاؤها.

لا تتم تعبئة هذا الحقل لإضافات Google Workspace التي توسّع نطاق Google Chat. بدلاً من ذلك، لتلقّي بيانات الوظائف، مثل المعرّفات، يجب أن تستخدم الإضافات التي توسّع Chat الحقل parameters. اطّلِع على إنشاء واجهات تفاعلية لتطبيقات Chat.

TimeZone

معرّف المنطقة الزمنية والفرق عن التوقيت العالمي المنسَّق (UTC) لا يتوفّر إلا لنوعَي الأحداث CARD_CLICKED وSUBMIT_DIALOG.

تمثيل JSON
{
  "id": string,
  "offset": integer
}
الحقول
id

string

رمز قاعدة بيانات المنطقة الزمنية IANA TZ، مثل "America/Toronto"

offset

integer

إزاحة المنطقة الزمنية للمستخدم، بالمللي ثانية، عن التوقيت العالمي المتفق عليه (UTC).

مدخلات

أنواع البيانات التي يمكن للمستخدمين إدخالها في البطاقات أو مربّعات الحوار يعتمد نوع الإدخال على نوع القيم التي يقبلها التطبيق المصغّر.

تمثيل JSON
{

  // Union field inputs can be only one of the following:
  "stringInputs": {
    object (StringInputs)
  },
  "dateTimeInput": {
    object (DateTimeInput)
  },
  "dateInput": {
    object (DateInput)
  },
  "timeInput": {
    object (TimeInput)
  }
  // End of list of possible types for union field inputs.
}
الحقول

حقل الدمج inputs

يمكن أن تكون inputs إحدى القيم التالية فقط:

stringInputs

object (StringInputs)

قائمة بالسلاسل التي تمثّل القيم التي يُدخلها المستخدم في أداة.

إذا كان العنصر النائب يقبل قيمة واحدة فقط، مثل العنصر النائب TextInput، ستحتوي القائمة على عنصر سلسلة واحد. إذا كان العنصر يقبل قيمًا متعددة، مثل عنصر SelectionInput مربّعات الاختيار، تحتوي القائمة على عنصر سلسلة لكل قيمة يُدخلها المستخدم أو يختارها.

dateTimeInput

object (DateTimeInput)

قيم إدخال التاريخ والوقت من أداة DateTimePicker تقبل كلاً من التاريخ والوقت.

dateInput

object (DateInput)

قيم إدخال التاريخ من أداة DateTimePicker تقبل قيم التاريخ فقط

timeInput

object (TimeInput)

قيم إدخال الوقت من أداة DateTimePicker تقبل قيم الوقت فقط

StringInputs

مَعلمة الإدخال للعناصر العادية بالنسبة إلى التطبيقات المصغّرة ذات القيمة الواحدة، تكون قائمة ذات قيمة واحدة. بالنسبة إلى التطبيقات المصغّرة المتعدّدة القيم، مثل مربّع الاختيار، يتم عرض جميع القيم.

تمثيل JSON
{
  "value": [
    string
  ]
}
الحقول
value[]

string

قائمة بالسلاسل التي أدخلها المستخدم

DateTimeInput

قيم إدخال التاريخ والوقت

تمثيل JSON
{
  "msSinceEpoch": string,
  "hasDate": boolean,
  "hasTime": boolean
}
الحقول
msSinceEpoch

string (int64 format)

الوقت منذ بداية الحقبة، بالمللي ثانية.

hasDate

boolean

تحديد ما إذا كان الإدخال datetime يتضمّن تاريخًا في التقويم

hasTime

boolean

تحديد ما إذا كانت بيانات الإدخال datetime تتضمّن طابعًا زمنيًا.

DateInput

قيم إدخال التاريخ

تمثيل JSON
{
  "msSinceEpoch": string
}
الحقول
msSinceEpoch

string (int64 format)

الوقت منذ بداية الحقبة، بالمللي ثانية.

TimeInput

قيم إدخال الوقت

تمثيل JSON
{
  "hours": integer,
  "minutes": integer
}
الحقول
hours

integer

الساعة بنظام 24 ساعة

minutes

integer

عدد الدقائق التي مرّت بعد الساعة. تتراوح القيم الصالحة بين 0 و59.

AppCommandMetadata

البيانات الوصفية حول أمر تطبيق Chat

تمثيل JSON
{
  "appCommandId": integer,
  "appCommandType": enum (AppCommandType)
}
الحقول
appCommandId

integer

معرّف الأمر المحدّد في إعدادات Chat API

appCommandType

enum (AppCommandType)

نوع أمر تطبيق Chat.