الاشتراك في أحداث Google Chat

تصف هذه الصفحة أحداث Google Chat التي يمكن لتطبيق Google Chat الاشتراك فيها باستخدام Google Workspace Events API.

لمزيد من المعلومات حول تطوير تطبيق Google Chat، يُرجى الاطّلاع على نظرة عامة على Google Chat API.

الموارد المستهدَفة المتوافقة مع Chat

تتيح Google Workspace Events API الاشتراكات التالية:

  • المساحات، يتم تمثيلها كموارد space
  • المستخدمون، الذين يتم تمثيلهم كموارد في Cloud Identity API user

أحداث Chat المتوافقة

تتيح لك اشتراكات Google Workspace تلقّي أحداث حول أنواع التغييرات التالية في Chat:

  • الرسائل الجديدة أو المعدّلة في المساحة.
  • التفاعلات الجديدة أو التي تمت إزالتها مع رسالة
  • الأعضاء الجدد أو المعدّلون أو الذين تمت إزالتهم في المساحة
  • التغييرات على المساحة التي اشتركت فيها، مثل تعديل اسم المساحة أو وصفها

أنواع الأحداث لإنشاء الاشتراكات

عند إنشاء اشتراك، يمكنك استخدام الحقل eventTypes[] لتحديد أنواع الأحداث التي تريد تلقّيها. يتم تنسيق أنواع الأحداث وفقًا لمواصفات CloudEvent، مثل google.workspace.APPLICATION.RESOURCE.VERSION.ACTION.

على سبيل المثال، لتلقّي أحداث حول انضمام المستخدمين إلى مساحة Chat، يمكنك تحديد المساحة على أنّها المورد المستهدف، ونوع الحدث على أنّه 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.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

أنواع الأحداث الناتجة فقط

يؤدي الاشتراك في أنواع أحداث "google.workspace.APPLICATION.RESOURCE.VERSION.ACTION" إلى ضبط الاشتراك تلقائيًا لتلقّي نُسخ مجمّعة من نوع الحدث أيضًا. على سبيل المثال، إذا اشتركت في "google.workspace.chat.membership.v1.created"، ستتلقّى أيضًا أحداث "google.workspace.chat.membership.v1.batchCreated".

يعرض الجدول التالي أنواع الأحداث التي يتم إخراجها فقط للاشتراكات في المساحات والمستخدمين:

نوع الحدث الوصف بيانات الموارد

google.workspace.chat.message.v1.batchCreated

يتم نشر رسائل متعددة في الوقت نفسه.

تمثّل هذه السمة قائمة spaces.messages.

google.workspace.chat.message.v1.batchUpdated

يتم تعديل عدة رسائل في الوقت نفسه.

تمثّل هذه السمة قائمة spaces.messages.

google.workspace.chat.reaction.v1.batchCreated

يتم إنشاء تفاعلات متعدّدة في الوقت نفسه.

تمثّل هذه السمة قائمة spaces.messages.reactions.

google.workspace.chat.reaction.v1.batchDeleted

يتم حذف تفاعلات متعدّدة في الوقت نفسه.

تمثّل هذه السمة قائمة spaces.messages.reactions.

google.workspace.chat.membership.v1.batchCreated

  • إذا كانت target_resource مساحة: يتم إنشاء عدة أعضاء في المساحة.
  • إذا كان target_resource مستخدمًا: يصبح المستخدم عضوًا في مساحات متعددة.

تمثّل هذه السمة قائمة spaces.memberships.

google.workspace.chat.membership.v1.batchUpdated

  • إذا كانت target_resource مساحة: يتم تعديل عدة أعضاء في المساحة.
  • إذا كان target_resource مستخدمًا: يتم إجراء عدة تعديلات على عضويات المستخدم في المساحات.

تمثّل هذه السمة قائمة spaces.memberships.

google.workspace.chat.membership.v1.batchDeleted

  • إذا كانت target_resource مساحة: تتم إزالة عدة أعضاء في المساحة.
  • إذا كان target_resource مستخدم: تتم إزالة المستخدم كعضو من مساحات متعددة.

تمثّل هذه السمة قائمة spaces.memberships.

google.workspace.chat.space.v1.batchUpdated

تحتوي المساحة على تعديلات متعدّدة.

تمثّل هذه السمة قائمة spaces.

بيانات الحدث

يصف هذا القسم بيانات الأحداث وأمثلة على حمولات البيانات للأحداث في Chat.

عندما يتلقّى اشتراكك في Google Workspace حدثًا من Chat، يحتوي الحقل data على حمولة الحدث. تحتوي هذه الحمولة على معلومات حول مورد Google Workspace الذي تم تغييره. على سبيل المثال، إذا كنت قد اشتركت في أحداث عضوية في مساحة معيّنة، ستحتوي حمولة هذه الأحداث على معلومات عن المورد spaces.membership الذي تم تغييره.

بيانات الموارد في حمولة الحدث

عند إنشاء اشتراك، يمكنك تحديد ما إذا كنت تريد من الحمولة أن تتضمن تفاصيل حول المورد، أو اسم المورد فقط. على سبيل المثال، إذا كنت تريد تلقّي أحداث عن الأعضاء في مساحة Chat، يمكنك تحديد حقول مورد العضوية الذي تريد تلقّيه في حمولة الحدث.

يقدّم الجدول التالي أمثلة على حمولات JSON الأساسية للاشتراك في مساحة Chat 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"
    }
}
      
يعدِّل أحد المستخدمين وصف المساحة إلى "فريق المبيعات في Cymbal Labs". 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"
    }
}
      
تمت إضافة مستخدمَين من مستخدمي Chat إلى المساحة في الوقت نفسه. 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",
        }
      }
    ]
}