در رویدادهای چت Google مشترک شوید

این صفحه رویدادهای Google Chat را توضیح می‌دهد که یک برنامه Google Chat می‌تواند با استفاده از Google Workspace Events API در آنها مشترک شود. بعد از اینکه تصمیم گرفتید به چه نوع رویدادهایی نیاز دارید، برای شروع دریافت رویدادها از چت Google ، اشتراکی ایجاد کنید .

علاوه بر اشتراک در رویدادها، می‌توانید با تماس با Chat API، رویدادها را نیز جستجو کنید. تماس با Chat API به شما امکان می‌دهد رویدادها را به صورت دوره‌ای بازیابی کنید، یا به رویدادهایی که ممکن است به دلیل قطعی اشتراک از دست داده باشید، مطلع شوید. برای آشنایی با روش‌هایی که می‌توانید رویدادهای Chat را دریافت کرده و به آنها پاسخ دهید، به کار با رویدادها از Google Chat در اسناد گپ مراجعه کنید.

رویدادهای چت پشتیبانی شده

اشتراک‌های Google Workspace به شما امکان می‌دهند رویدادهایی را درباره انواع تغییرات زیر در Chat دریافت کنید:

  • پیام های جدید، به روز شده یا حذف شده در فضا.
  • واکنش های جدید یا حذف شده به یک پیام.
  • اعضای جدید، به روز یا حذف شده در فضا.
  • تغییراتی در فضایی که در آن مشترک شده‌اید، مانند نام یا شرح فضای به‌روز شده.

منابعی که می توانید برای رویدادها نظارت کنید

برای دریافت رویدادها، یک منبع چت را برای نظارت تعیین می کنید که به آن منبع هدف اشتراک می گویند.

Google Workspace Events API از منابع هدف زیر برای Chat پشتیبانی می‌کند:

منبع هدف قالب محدودیت ها
فضا

//chat.googleapis.com/spaces/ SPACE

که در آن SPACE شناسه در نام منبع منبع space Chat API است. می‌توانید شناسه را از URL فضا یا با استفاده از متد spaces.list() دریافت کنید.

کاربر گپ که اشتراک را مجاز می‌کند، باید از طریق Google Workspace یا حساب Google خود عضو فضا باشد.
همه فضاها برای یک کاربر

//chat.googleapis.com/spaces/-

اشتراک فقط رویدادهایی را برای فضاهایی که کاربر از طریق Google Workspace یا حساب Google در آن عضو است دریافت می کند.
کاربر

//cloudidentity.googleapis.com/users/ USER

که در آن USER شناسه در نام منبع منبع user Chat API است. برای جزئیات، به شناسایی و تعیین کاربران گپ Google مراجعه کنید.

اشتراک فقط رویدادهای مربوط به کاربری را دریافت می کند که اشتراک را مجاز کرده است. کاربر نمی‌تواند از طرف دیگر کاربران اجازه اشتراک بدهد.

انواع رویداد برای ایجاد اشتراک

وقتی اشتراکی ایجاد می‌کنید، از فیلد eventTypes[] برای تعیین انواع رویدادهایی که می‌خواهید دریافت کنید استفاده می‌کنید. انواع رویدادها بر اساس مشخصات CloudEvents، مانند google.workspace. APPLICATION . RESOURCE . VERSION . ACTION .

به عنوان مثال، برای دریافت رویدادهایی درباره پیوستن کاربران به فضای چت، فضا را به عنوان منبع هدف و نوع رویداد را به عنوان google.workspace.chat.membership.v1.created مشخص می‌کنید. برای دریافت رویدادهایی درباره پیوستن کاربر به هر فضایی، کاربر را به عنوان منبع هدف و نوع رویداد را google.workspace.chat.membership.v1.created مشخص می‌کنید. برای اطلاعات بیشتر درباره نحوه عملکرد رویدادها، به ساختار رویدادهای Google Workspace مراجعه کنید.

جدول زیر نشان می دهد که کدام نوع رویداد برای اشتراک در فضاها و اشتراک برای کاربران پشتیبانی می شود. برای آشنایی با موارد استثنا در مورد عواملی که باعث ایجاد یک رویداد می شود، به محدودیت ها مراجعه کنید.

نوع رویداد قالب داده های منابع
اشتراک در فضاها
یک پیام ارسال شده است.

google.workspace.chat.message.v1.created

space.message

یک پیام به روز می شود.

google.workspace.chat.message.v1.updated

space.message

یک پیام حذف می شود.

google.workspace.chat.message.v1.deleted

space.message

واکنش ایجاد می شود.

google.workspace.chat.reaction.v1.created

space.message.reaction

یک واکنش حذف می شود.

google.workspace.chat.reaction.v1.deleted

space.message.reaction

یک عضو به فضا اضافه می شود.

google.workspace.chat.membership.v1.created

space.membership

یک عضو در فضا به روز می شود.

google.workspace.chat.membership.v1.updated

space.membership

یک عضو از فضا حذف می شود.

google.workspace.chat.membership.v1.deleted

space.membership

فضا به روز می شود.

google.workspace.chat.space.v1.updated

space

فضا حذف می شود.

google.workspace.chat.space.v1.deleted

space

اشتراک برای کاربران
کاربر عضو یک فضا می شود.

همه اعضای جدید رویدادها را راه اندازی نمی کنند. برای جزئیات، به محدودیت ها مراجعه کنید

google.workspace.chat.membership.v1.created

space.membership

عضویت کاربر در یک فضا به روز می شود.

google.workspace.chat.membership.v1.updated

space.membership

کاربر به عنوان عضو مستقیم یک فضا حذف می شود.

google.workspace.chat.membership.v1.deleted

space.membership

انواع رویداد دسته ای (فقط خروجی)

برنامه گپ شما علاوه بر دریافت انواع رویدادهایی که در آنها مشترک هستید، ممکن است رویدادهای دسته‌ای را نیز دریافت کند. رویداد دسته‌ای رویدادی است که نشان‌دهنده بسیاری از رویدادهای مشابه است که در مدت زمان کوتاهی رخ می‌دهند. محموله یک رویداد دسته ای شامل فهرستی از تمام منابع تغییر یافته است.

برای مثال، اگر کاربری همزمان 20 کاربر را به یک فضا اضافه کند، برنامه Chat شما ممکن است یک رویداد دسته‌ای دریافت کند ( google.workspace.chat.membership.v1.batchCreated ). بارگذاری رویداد حاوی لیستی از تمام منابع Membership جدید است که هنگام افزودن اعضا به فضا توسط کاربر ایجاد شده است.

برای هر نوع رویدادی که در آن مشترک هستید، یک رویداد دسته‌ای دریافت می‌کنید، بنابراین نیازی نیست هنگام ایجاد اشتراک، رویدادهای دسته‌ای را مشخص کنید. برای مثال، اگر در واکنش‌های جدید مشترک شوید ( google.workspace.chat.reaction.v1.created )، برنامه Chat شما به‌طور خودکار برای دریافت رویدادهای واکنش دسته‌ای پیکربندی می‌شود ( google.workspace.chat.reaction.v1.batchCreated ).

جدول زیر رویدادهای دسته ای احتمالی برای یک اشتراک را نشان می دهد:

نوع رویداد دسته ای قالب
چندین پیام ارسال می شود.

google.workspace.chat.message.v1.batchCreated

چندین پیام به روز می شوند.

google.workspace.chat.message.v1.batchUpdated

چندین پیام حذف می شود.

google.workspace.chat.message.v1.batchDeleted

واکنش های متعددی ایجاد می شود.

google.workspace.chat.reaction.v1.batchCreated

واکنش های متعدد حذف می شوند.

google.workspace.chat.reaction.v1.batchDeleted

چند عضو به فضای مشترک اضافه می شوند یا کاربر مشترک به چند فضا اضافه شده است.

google.workspace.chat.membership.v1.batchCreated

عضویت های متعدد در فضای مشترک یا برای کاربر مشترک به روز می شوند.

google.workspace.chat.membership.v1.batchUpdated

چند عضو از فضای مشترک حذف می شوند یا کاربر مشترک از چند فضا حذف می شود.

google.workspace.chat.membership.v1.batchDeleted

این فضا چندین به روز رسانی دارد.

google.workspace.chat.space.v1.batchUpdated

داده های رویداد

این بخش داده‌های رویداد و بارهای نمونه برای رویدادها در Chat را توضیح می‌دهد.

وقتی اشتراک Google Workspace شما رویدادی را از Chat دریافت می‌کند، فیلد data حاوی محموله رویداد است. این محموله اطلاعاتی درباره منبع Google Workspace دارد که تغییر کرده است. به عنوان مثال، اگر در رویدادهای عضویت در یک فضا مشترک شده باشید، محموله این رویدادها حاوی اطلاعاتی درباره منبع spaces.membership است که تغییر کرده است.

داده های منبع در بارگذاری رویداد

وقتی اشتراکی ایجاد می‌کنید، می‌توانید تعیین کنید که آیا می‌خواهید بارگذاری شامل جزئیات مربوط به منبع باشد یا فقط نام منبع. برای مثال، اگر می‌خواهید رویدادهای مربوط به اعضا را در فضای چت دریافت کنید، می‌توانید مشخص کنید که کدام قسمت‌های منبع عضویت را می‌خواهید در بار رویداد دریافت کنید.

جدول زیر نمونه‌هایی از بارهای JSON را برای اشتراک در spaces/AAAABBBBBB ارائه می‌کند. برای هر رویدادی که اشتراک دریافت می‌کند، محموله در قسمت data رویداد ظاهر می‌شود:

مثال نوع رویداد محموله JSON

یک کاربر پیامی را در فضایی ارسال می کند که می گوید "سلام دنیا".

google.workspace.chat.message.v1.created

شامل داده های منابع است
{
    "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"
    }
}
      
یک کاربر مدیر فضا می شود.

google.workspace.chat.membership.v1.updated

شامل داده های منابع است
{
    "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 به یک فضا مراجعه کنید.