این صفحه رویدادهای گوگل چت را که یک برنامه گوگل چت میتواند با استفاده از Google Workspace Events API در آنها مشترک شود، شرح میدهد. پس از اینکه تصمیم گرفتید به چه نوع رویدادهایی نیاز دارید، برای شروع دریافت رویدادها از گوگل چت، یک اشتراک ایجاد کنید .
علاوه بر اشتراک در رویدادها، میتوانید با فراخوانی Chat API، رویدادها را جستجو کنید. فراخوانی Chat API به شما امکان میدهد رویدادها را به صورت دورهای بازیابی کنید، یا رویدادهایی را که ممکن است به دلیل قطعی از اشتراک از دست داده باشید، دریافت کنید. برای کسب اطلاعات در مورد روشهای دریافت و پاسخ به رویدادهای Chat، به بخش «کار با رویدادها از Google Chat» در مستندات Chat مراجعه کنید.
رویدادهای چت پشتیبانی شده
اشتراکهای Google Workspace به شما امکان میدهند رویدادهای مربوط به انواع تغییرات زیر را در Chat دریافت کنید:
- پیامهای جدید، بهروزرسانیشده یا حذفشده در این فضا.
- واکنشهای جدید یا حذفشده به یک پیام.
- اعضای جدید، بهروزرسانیشده یا حذفشده در این فضا.
- تغییرات در فضایی که در آن مشترک شدهاید، مانند بهروزرسانی نام یا توضیحات فضا.
منابعی که میتوانید برای رویدادها رصد کنید
برای دریافت رویدادها، شما یک منبع چت را برای نظارت مشخص میکنید که منبع هدف اشتراک نامیده میشود.
رابط برنامهنویسی کاربردی رویدادهای فضای کاری گوگل (Google Workspace Events API) از منابع هدف زیر برای چت پشتیبانی میکند:
| منبع هدف | قالب | محدودیتها |
|---|---|---|
| فضا | که در آن SPACE شناسه در نام منبع مربوط به منبع | کاربر چت یا برنامه چتی که اشتراک را تأیید میکند، باید از طریق Google Workspace یا حساب گوگل خود عضو این فضا باشد. پشتیبانی میکند از: |
| تمام فضاهای یک کاربر | | این اشتراک فقط رویدادهای مربوط به فضاهایی را دریافت میکند که کاربر از طریق Google Workspace یا حساب Google خود در آنها عضو است. فقط از احراز هویت کاربر پشتیبانی میکند. |
| کاربر | که در آن USER شناسه در نام منبع مربوط به منبع | این اشتراک فقط رویدادهای مربوط به کاربری که اشتراک را تأیید کرده است را دریافت میکند. یک کاربر نمیتواند از طرف سایر کاربران اشتراک را تأیید کند. فقط از احراز هویت کاربر پشتیبانی میکند. |
انواع رویداد برای ایجاد اشتراکها
وقتی اشتراکی ایجاد میکنید، از فیلد eventTypes[] برای مشخص کردن انواع رویدادهایی که میخواهید دریافت کنید استفاده میکنید. انواع رویدادها طبق مشخصات CloudEvents قالببندی میشوند google.workspace. APPLICATION . RESOURCE . VERSION . ACTION
برای مثال، برای دریافت رویدادهای مربوط به پیوستن کاربران به یک فضای چت، فضا را به عنوان منبع هدف و نوع رویداد را google.workspace.chat.membership.v1.created تعیین میکنید. برای دریافت رویدادهای مربوط به پیوستن یک کاربر خاص به هر فضایی، کاربر را به عنوان منبع هدف و نوع رویداد را google.workspace.chat.membership.v1.created تعیین میکنید. برای کسب اطلاعات بیشتر در مورد نحوه عملکرد رویدادها، به ساختار رویدادهای Google Workspace مراجعه کنید.
جدول زیر انواع رویدادهایی را که برای اشتراک در فضاها و اشتراک در کاربران پشتیبانی میشوند، نشان میدهد. برای کسب اطلاعات در مورد استثنائات مربوط به آنچه یک رویداد را فعال میکند، به محدودیتها مراجعه کنید.
| نوع رویداد | قالب | دادههای منابع | ||
|---|---|---|---|---|
| اشتراک در فضاها | ||||
| پیامی منتشر میشود. | | | ||
| یک پیام بهروزرسانی میشود. | | | ||
| یک پیام حذف میشود. | | | ||
| واکنشی ایجاد میشود. | | | ||
| یک واکنش حذف میشود. | | | ||
| یک عضو به فضا اضافه میشود. | | | ||
| یک عضو در این فضا بهروزرسانی میشود. | | | ||
| یک عضو از فضا حذف میشود. | | | ||
| فضا بهروز میشود. | | | ||
| فاصله حذف میشود. | | | ||
| اشتراک برای کاربران | ||||
| کاربر عضو یک فضا میشود. همه اعضای جدید رویدادها را فعال نمیکنند. برای جزئیات بیشتر، به محدودیتها مراجعه کنید. | | | ||
| عضویت کاربر در یک فضا بهروزرسانی میشود. | | | ||
| کاربر به عنوان عضو مستقیم یک فاصله حذف میشود. | | | ||
انواع رویدادهای دستهای (فقط خروجی)
علاوه بر دریافت انواع رویدادهایی که در آنها مشترک میشوید، برنامه چت شما ممکن است رویدادهای دستهای را نیز دریافت کند. یک رویداد دستهای رویدادی است که نشاندهنده رویدادهای زیادی از یک نوع است که در یک بازه زمانی کوتاه رخ میدهند. محتوای یک رویداد دستهای شامل لیستی از تمام منابع تغییر یافته است.
برای مثال، اگر یک کاربر همزمان 20 کاربر را به یک فضا اضافه کند، برنامه چت شما ممکن است یک رویداد دستهای ( google.workspace.chat.membership.v1.batchCreated ) دریافت کند. محتوای رویداد شامل لیستی از تمام منابع Membership جدید است که هنگام اضافه کردن اعضا به فضا توسط کاربر ایجاد شدهاند.
شما برای هر نوع رویدادی که در آن مشترک شوید، یک رویداد دستهای دریافت میکنید، بنابراین هنگام ایجاد اشتراک نیازی به مشخص کردن رویدادهای دستهای ندارید. برای مثال، اگر در واکنشهای جدید ( google.workspace.chat.reaction.v1.created ) مشترک شوید، برنامه چت شما به طور خودکار برای دریافت رویدادهای واکنش دستهای ( google.workspace.chat.reaction.v1.batchCreated ) پیکربندی میشود.
جدول زیر رویدادهای دستهای ممکن برای یک اشتراک را نشان میدهد:
| نوع رویداد دستهای | قالب |
|---|---|
| پیامهای متعددی منتشر میشود. | |
| چندین پیام بهروزرسانی میشوند. | |
| چندین پیام حذف شده است. | |
| واکنشهای چندگانه ایجاد میشوند. | |
| واکنشهای چندگانه حذف میشوند. | |
| چندین عضو به فضای مشترک اضافه شدهاند، یا کاربر مشترک به چندین فضا اضافه شده است. | |
| عضویتهای چندگانه در فضای مشترک یا برای کاربر مشترک بهروزرسانی میشوند. | |
| چندین عضو از فضای مشترک حذف شدهاند، یا کاربر مشترک از چندین فضا حذف شده است. | |
| این فضا بهروزرسانیهای متعددی دارد. | |
دادههای رویداد
این بخش دادههای رویداد و نمونههایی از بارهای داده برای رویدادها در چت را شرح میدهد.
وقتی اشتراک Google Workspace شما رویدادی را از Chat دریافت میکند، فیلد data شامل payload مربوط به آن رویداد است. این payload حاوی اطلاعاتی درباره منبع Google Workspace است که تغییر کرده است. برای مثال، اگر در رویدادهای عضویت در یک فضا مشترک شده باشید، payload مربوط به این رویدادها حاوی اطلاعاتی درباره منبع spaces.membership است که تغییر کرده است.
دادههای منبع در بار داده رویداد
هنگام ایجاد اشتراک، میتوانید مشخص کنید که آیا میخواهید محتوای اشتراک شامل جزئیات مربوط به منبع باشد یا فقط نام منبع. به عنوان مثال، اگر میخواهید رویدادهای مربوط به اعضا را در یک فضای چت دریافت کنید، میتوانید مشخص کنید که میخواهید کدام فیلدهای یک منبع عضویت را در محتوای رویداد دریافت کنید.
جدول زیر نمونههایی از دادههای JSON برای اشتراک در فضای چت spaces/AAAABBBBBB را ارائه میدهد. برای هر رویدادی که اشتراک دریافت میکند، دادههای مربوط به آن رویداد در فیلد data نمایش داده میشود:
| مثال | نوع رویداد | بار داده JSON |
|---|---|---|
یک کاربر پیامی را در این فضا ارسال میکند که میگوید «سلام دنیا». | | شامل دادههای منابع:
{
"message":
{
"name": "spaces/دادههای منابع را شامل نمیشود:
{
"message":
{
"name": "spaces/ |
| یک کاربر مدیر فضا میشود. | | شامل دادههای منابع:
{
"membership":
{
"name": "spaces/دادههای منابع را شامل نمیشود:
{
"membership":
{
"name": "spaces/ |
| یک کاربر توضیحات مربوط به فضا را به «تیم فروش Cymbal Labs» بهروزرسانی میکند. | google.workspace.chat.space.v1.updated | شامل دادههای منابع:
{
"space":
{
"name": "spaces/دادههای منابع را شامل نمیشود:
{
"space":
{
"name": "spaces/ |
| دو کاربر چت همزمان به فضا اضافه شدند. | google.workspace.chat.membership.v1.batchCreated | شامل دادههای منابع:
{
"memberships": [
{
"membership": {
"name": "spaces/دادههای منابع را شامل نمیشود:
{
"memberships": [
{
"membership": {
"name": "spaces/ |
| یک کاربر با ایموجی 😊 به یک پیام واکنش نشان میدهد. | google.workspace.chat.reaction.v1.created | شامل دادههای منابع:
{
"reaction":
{
"name": "spaces/دادههای منابع را شامل نمیشود:
{
"reaction":
{
"name": "spaces/ |
| کاربران با ایموجیهای 😊 و 😸 به یک پیام واکنش نشان میدهند. | google.workspace.chat.reaction.v1.batchCreated | شامل دادههای منابع:
{
"reactions": [
{
"reaction": {
"name": "spaces/دادههای منابع را شامل نمیشود:
{
"reactions": [
{
"reaction": {
"name": "spaces/ |
محدودیتها
- برای اشتراک کاربران، رویدادهای مربوط به اعضای جدید در پیامهای مستقیم یا چتهای گروهی بدون نام (
google.workspace.chat.membership.v1.created)، فقط پس از ارسال اولین پیام فعال میشوند. - برای دریافت رویدادهای عضویت، کاربر یا برنامه چت باید عضو مستقیم آن فضا باشند. اگر آنها به طور غیرمستقیم از طریق یک گروه گوگل به یک فضا اضافه، بهروزرسانی یا حذف شده باشند، اشتراک آن رویدادهای عضویت را دریافت نمیکند. برای درک نحوه عملکرد عضویت در گروه گوگل، به افزودن یک گروه گوگل به یک فضا مراجعه کنید.
مباحث مرتبط
- ساختار رویدادهای Google Workspace
- انتخاب محدودههای OAuth
- برای دریافت رویدادهای چت، اشتراک ایجاد کنید