Event

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

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

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

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

خريطة تحتوي على القيم الحالية للتطبيقات المصغّرة في البطاقة المعروضة مفاتيح الخريطة هي قيم السلسلة name المخصّصة لكل تطبيق مصغّر للإدخال (مثل TextInput.name أو SelectionInput.name أو DateTimePicker.name أو DecoratedText.SwitchControl.name).

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

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

  • تطبيقات مصغّرة ذات قيمة واحدة (على سبيل المثال، تطبيق مصغّر TextInput أو تطبيق مصغّر SelectionInput من النوع DROPDOWN أو RADIO_BUTTON): عنصر StringInputs يحتوي على قائمة ذات عنصر واحد (أو قائمة فارغة في حال عدم إجراء أي اختيار).

مثال: بالنسبة إلى تطبيق مصغّر لإدخال النص يتضمّن employeeName كـ name، يمكنك الوصول إلى قيمة إدخال النص باستخدام: e.commonEventObject.formInputs.employeeName.stringInputs.value[0].

  • التطبيقات المصغّرة المتعدّدة القيم (على سبيل المثال، تطبيق مصغّر SelectionInput من النوع CHECK_BOX أو SWITCH أو MULTI_SELECT): عنصر StringInputs يحتوي على قائمة بسلاسل value للعناصر المحدّدة.

مثال: بالنسبة إلى تطبيق مصغّر متعدد القيم يتضمّن participants كـ name، يمكنك الوصول إلى مصفوفة القيم باستخدام: e.commonEventObject.formInputs.participants.stringInputs.value.

  • ‫DecoratedText.SwitchControl widget: عنصر StringInputs. عندما تكون قيمة selected هي true، يحتوي stringInputs.value على حقل value الخاص بمفتاح التبديل (أو "" إذا لم يتم تحديد value، وإذا كانت هناك عدة مفاتيح تبديل تشترك في قيمة name نفسها، يتم تضمين قيمة value لكل مفتاح تبديل محدّد في القائمة). عندما يكون selected false، يتم حذف value لمفتاح التبديل من stringInputs.value.

  • أداة اختيار التاريخ والوقت (DateTimePickerType.DATE_AND_TIME): DateTimeInput object.

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

  • أداة اختيار التاريخ فقط (DateTimePickerType.DATE_ONLY): DateInput object.

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

  • أداة اختيار الوقت فقط (DateTimePickerType.TIME_ONLY): TimeInput object.

مثال: بالنسبة إلى أداة اختيار تتضمّن name من 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
{

  "stringInputs": {
    object (StringInputs)
  },
  "dateTimeInput": {
    object (DateTimeInput)
  },
  "dateInput": {
    object (DateInput)
  },
  "timeInput": {
    object (TimeInput)
  }
}
الحقول
في ما يلي قائمة بالحقول التي يستبعد بعضها بعضًا. سيتم ضبط حقل واحد على الأكثر في الرد:
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