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]. لمزيد من المعلومات عن أوقات التشغيل في "برمجة تطبيقات Google"، يُرجى الاطّلاع على نظرة عامة على وقت التشغيل 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
{

  "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.