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» کد را دریافت، لغو، یا بازتولید کنید.

برنامه‌های Chat مدرن از این فیلد استفاده نمی‌کنند. این شناسه در پاسخ‌های API و صفحه پیکربندی 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

این نشانی وب برای رویدادهای تعاملی MESSAGE، ADDED_TO_SPACE، و APP_COMMAND پر شده است. پس‌از تکمیل جریان پیکربندی یا صدور مجوز در خارج از Google Chat، کاربران باید به این نشانی وب هدایت شوند تا به 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 در Apps Script قالب‌بندی شده‌اند. اگر از Rhino runtime استفاده می‌کنید، باید [""] را بعداز مقدار اضافه کنید. برای مثال، به‌جای e.commonEventObject.formInputs.employeeName.stringInputs.value[0]، شیء رویداد را به‌صورت e.commonEventObject.formInputs.employeeName[""].stringInputs.value[0] قالب‌بندی کنید. برای کسب اطلاعات بیشتر درباره زمان‌های اجرا در Apps Script، به نمای کلی زمان اجرا 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: شیء StringInputs. وقتی selected true است، stringInputs.value حاوی فیلد value کلید است (یا "" اگر value مشخص نشده باشد؛ اگر چند کلید name یکسانی داشته باشند، value هر کلید انتخاب‌شده در فهرست گنجانده می‌شود). وقتی selected false است، value کلید از stringInputs.value حذف می‌شود.

  • انتخابگر تاریخ-زمان (DateTimePickerType.DATE_AND_TIME): DateTimeInput object.

مثال: برای انتخاب‌گری با name myDTPicker، بااستفاده از e.commonEventObject.formInputs.myDTPicker.dateTimeInput به شیء DateTimeInput دسترسی پیدا کنید.

  • انتخابگر فقط تاریخ (DateTimePickerType.DATE_ONLY): DateInput object.

مثال: برای انتخاب‌گری با name از myDatePicker، بااستفاده از e.commonEventObject.formInputs.myDatePicker.dateInput به شیء DateInput دسترسی پیدا کنید.

  • انتخابگر فقط زمان (DateTimePickerType.TIME_ONLY): TimeInput object.

مثال: برای انتخاب‌گری با name از myTimePicker، بااستفاده از e.commonEventObject.formInputs.myTimePicker.timeInput به شیء 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

ساعت در قالب ۲۴ ساعته.

minutes

integer

تعداد دقیقه‌های گذشته از ساعت. مقادیر معتبر ۰ تا ۵۹ است.

AppCommandMetadata

فراداده درباره فرمان برنامه Chat.

نمایش JSON
{
  "appCommandId": integer,
  "appCommandType": enum (AppCommandType)
}
فیلدها
appCommandId

integer

شناسه فرمان مشخص‌شده در پیکربندی Chat API.

appCommandType

enum (AppCommandType)

نوع فرمان برنامه Chat.