این صفحه رویدادهای Google Chat را توضیح میدهد که یک برنامه Google Chat میتواند با استفاده از Google Workspace Events API در آنها مشترک شود. بعد از اینکه تصمیم گرفتید به چه نوع رویدادهایی نیاز دارید، برای شروع دریافت رویدادها از چت Google، اشتراکی ایجاد کنید .
علاوه بر اشتراک در رویدادها، میتوانید با تماس با Chat API، رویدادها را نیز جستجو کنید. تماس با Chat API به شما امکان میدهد رویدادها را به صورت دورهای بازیابی کنید، یا به رویدادهایی که ممکن است به دلیل قطعی اشتراک از دست داده باشید، مطلع شوید. برای آشنایی با روشهایی که میتوانید رویدادهای Chat را دریافت کرده و به آنها پاسخ دهید، به کار با رویدادها از Google Chat در اسناد گپ مراجعه کنید.
رویدادهای چت پشتیبانی شده
اشتراکهای Google Workspace به شما امکان میدهند رویدادهایی را درباره انواع تغییرات زیر در Chat دریافت کنید:
- پیام های جدید، به روز شده یا حذف شده در فضا.
- واکنش های جدید یا حذف شده به یک پیام.
- اعضای جدید، به روز یا حذف شده در فضا.
- تغییراتی در فضایی که در آن مشترک شدهاید، مانند نام یا شرح فضای بهروز شده.
منابعی که می توانید برای رویدادها نظارت کنید
برای دریافت رویدادها، یک منبع چت را برای نظارت تعیین می کنید که به آن منبع هدف اشتراک می گویند.
Google Workspace Events API از منابع هدف زیر برای Chat پشتیبانی میکند:
منبع هدف | قالب | محدودیت ها |
---|---|---|
فضا | که در آن SPACE شناسه در نام منبع منبع | کاربر گپ که اشتراک را مجاز میکند، باید از طریق Google Workspace یا حساب Google خود عضو فضا باشد. |
همه فضاها برای یک کاربر | | اشتراک فقط رویدادهایی را برای فضاهایی که کاربر از طریق 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 کاربر را به یک فضا اضافه کند، برنامه Chat شما ممکن است یک رویداد دستهای دریافت کند ( google.workspace.chat.membership.v1.batchCreated
). بارگذاری رویداد حاوی لیستی از تمام منابع Membership
جدید است که هنگام افزودن اعضا به فضا توسط کاربر ایجاد شده است.
برای هر نوع رویدادی که در آن مشترک هستید، یک رویداد دستهای دریافت میکنید، بنابراین نیازی نیست هنگام ایجاد اشتراک، رویدادهای دستهای را مشخص کنید. برای مثال، اگر در واکنشهای جدید مشترک شوید ( google.workspace.chat.reaction.v1.created
)، برنامه Chat شما بهطور خودکار برای دریافت رویدادهای واکنش دستهای پیکربندی میشود ( google.workspace.chat.reaction.v1.batchCreated
).
جدول زیر رویدادهای دسته ای احتمالی برای یک اشتراک را نشان می دهد:
نوع رویداد دسته ای | قالب |
---|---|
چندین پیام ارسال می شود. | |
چندین پیام به روز می شوند. | |
چندین پیام حذف می شود. | |
واکنش های متعددی ایجاد می شود. | |
واکنش های متعدد حذف می شوند. | |
چند عضو به فضای مشترک اضافه می شوند یا کاربر مشترک به چند فضا اضافه شده است. | |
عضویت های متعدد در فضای مشترک یا برای کاربر مشترک به روز می شوند. | |
چند عضو از فضای مشترک حذف می شوند یا کاربر مشترک از چند فضا حذف می شود. | |
این فضا چندین به روز رسانی دارد. | |
داده های رویداد
این بخش دادههای رویداد و بارهای نمونه برای رویدادها در Chat را توضیح میدهد.
وقتی اشتراک Google Workspace شما رویدادی را از Chat دریافت میکند، فیلد data
حاوی محموله رویداد است. این محموله اطلاعاتی درباره منبع Google Workspace دارد که تغییر کرده است. به عنوان مثال، اگر در رویدادهای عضویت در یک فضا مشترک شده باشید، محموله این رویدادها حاوی اطلاعاتی درباره منبع spaces.membership
است که تغییر کرده است.
داده های منبع در بارگذاری رویداد
وقتی اشتراکی ایجاد میکنید، میتوانید تعیین کنید که آیا میخواهید بارگذاری شامل جزئیات مربوط به منبع باشد یا فقط نام منبع. برای مثال، اگر میخواهید رویدادهای مربوط به اعضا را در فضای چت دریافت کنید، میتوانید مشخص کنید که کدام قسمتهای منبع عضویت را میخواهید در بار رویداد دریافت کنید.
جدول زیر نمونههایی از بارهای JSON را برای اشتراک در spaces/AAAABBBBBB
ارائه میکند. برای هر رویدادی که اشتراک دریافت میکند، محموله در قسمت data
رویداد ظاهر میشود:
مثال | نوع رویداد | محموله JSON |
---|---|---|
یک کاربر پیامی را در فضایی ارسال می کند که می گوید "سلام دنیا". | | شامل داده های منابع است { "message": { "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD", "sender": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "2023-09-07T21:37:36.260127Z", "text": "Hello world", "thread": { "name": "spaces/AAAABBBBBB/threads/EEEEEEEEEEEE" }, "space": { "name": "spaces/AAAABBBBBB" }, "argumentText": "Hello world" } } داده های منابع را در بر نمی گیرد { "message": { "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD" } } |
یک کاربر مدیر فضا می شود. | | شامل داده های منابع است { "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321", "state": "JOINED", "member": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MANAGER" } } داده های منابع را در بر نمی گیرد { "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321" } } |
یک کاربر شرح فضا را به "تیم فروش برای آزمایشگاه سیمبال" به روز می کند. | google.workspace.chat.space.v1.updated | شامل داده های منابع است { "space": { "name": "spaces/AAAABBBBBB", "displayName": "Cymbal Sales", "spaceThreadingState": "THREADED_MESSAGES", "spaceType": "SPACE", "spaceDetails": { "description": "Sales team for Cymbal Labs." }, "spaceHistoryState": "HISTORY_ON" } } داده های منابع را در بر نمی گیرد { "space": { "name": "spaces/AAAABBBBBB" } } |
دو کاربر چت همزمان به فضا اضافه شدند. | google.workspace.chat.membership.v1.batchCreated | شامل داده های منابع است { "memberships": [ { "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321", "state": "JOINED", "member": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MEMBER" } }, { "membership": { "name": "spaces/AAAABBBBBB/members/987654321234567890", "state": "JOINED", "member": { "name": "users/987654321234567890", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MEMBER" } } ] } داده های منابع را در بر نمی گیرد { "memberships": [ { "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321" } }, { "membership": { "name": "spaces/AAAABBBBBB/members/98765432123456789019" } } ] } |
کاربر به پیامی با ایموجی 😊 واکنش نشان می دهد. | google.workspace.chat.reaction.v1.created | شامل داده های منابع است { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222", "user": { "name": "users/1234567890987654321", "type": "HUMAN" }, "emoji": { "unicode": "😊" } } } داده های منابع را حذف می کند { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222" } } |
واکنش کاربران به یک پیام با ایموجی 😊 و 😸. | google.workspace.chat.reaction.v1.batchCreated | شامل داده های منابع است { "reactions": [ { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222", "user": { "name": "users/1234567890987654321", "type": "HUMAN" }, "emoji": { "unicode": "😊" } } }, { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444", "user": { "name": "users/98765431234564321", "type": "HUMAN" }, "emoji": { "unicode": "😸" } } } ] } داده های منابع را حذف می کند { "reactions": [ { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222" }, "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444", } } ] } |
محدودیت ها
- برای اشتراکهای کاربران، رویدادهای مربوط به اعضای جدید در پیامهای مستقیم یا چتهای گروهی بدون نام (
google.workspace.chat.membership.v1.created
)، فقط پس از پست شدن اولین پیام فعال میشوند. - برای دریافت رویدادهای عضویت، کاربر باید عضو مستقیم فضا باشد. اگر کاربری بهطور غیرمستقیم از طریق یک گروه Google به فضایی اضافه، بهروزرسانی یا حذف شده باشد، اشتراک آن رویدادهای عضویت را دریافت نمیکند. برای درک نحوه عملکرد عضویت در گروه Google، به افزودن یک گروه Google به یک فضا مراجعه کنید.
موضوعات مرتبط
- ساختار رویدادهای Google Workspace
- دامنه های OAuth را انتخاب کنید
- برای دریافت رویدادهای چت اشتراکی ایجاد کنید