Đăng ký nhận thông báo về sự kiện trong Google Chat

Trang này mô tả các sự kiện trên Google Chat mà một ứng dụng Google Chat có thể đăng ký bằng API Sự kiện của Google Workspace.

Để tìm hiểu thêm về cách phát triển ứng dụng Google Chat, hãy xem bài viết Tổng quan về API Google Chat.

Tài nguyên đích được hỗ trợ trên Chat

API Sự kiện của Google Workspace hỗ trợ các gói đăng ký cho:

  • Không gian được biểu thị dưới dạng tài nguyên space
  • Người dùng, được biểu thị dưới dạng tài nguyên user của Cloud Identity API

Các sự kiện được hỗ trợ trong Chat

Các gói thuê bao của Google Workspace cho phép bạn nhận sự kiện về những loại thay đổi sau đây trong Chat:

  • Tin nhắn mới hoặc đã cập nhật trong không gian.
  • Phản ứng mới hoặc đã bị xoá đối với một tin nhắn.
  • Thành viên mới, cập nhật hoặc bị xoá khỏi không gian.
  • Thay đổi đối với không gian bạn đã đăng ký, chẳng hạn như mới cập nhật tên hoặc nội dung mô tả của không gian.

Các loại sự kiện để tạo gói thuê bao

Khi tạo một gói thuê bao, bạn sẽ dùng trường eventTypes[] để chỉ định loại sự kiện mà bạn muốn nhận. Các loại sự kiện được định dạng theo thông số kỹ thuật của CloudEvents, chẳng hạn như google.workspace.APPLICATION.RESOURCE.VERSION.ACTION.

Ví dụ: để nhận sự kiện về việc người dùng tham gia phòng Chat, bạn sẽ chỉ định không gian làm tài nguyên mục tiêu và loại sự kiện là google.workspace.chat.membership.v1.created. Để nhận sự kiện về một người dùng cụ thể tham gia không gian bất kỳ, bạn cần chỉ định người dùng đó là tài nguyên mục tiêu và loại sự kiện là google.workspace.chat.membership.v1.created. Để tìm hiểu thêm về cách hoạt động của các sự kiện, hãy xem bài viết Cấu trúc của các sự kiện Google Workspace.

Bảng sau đây cho biết những loại sự kiện được hỗ trợ cho gói thuê bao không gian và gói thuê bao cho người dùng:

Loại sự kiện Mô tả Dữ liệu tài nguyên
Việc đăng ký không gian  

google.workspace.chat.message.v1.created

Một tin nhắn mới đã được đăng.

space.message

google.workspace.chat.message.v1.updated

Đã cập nhật một tin nhắn.

space.message

google.workspace.chat.reaction.v1.created

Một lượt thể hiện cảm xúc sẽ được tạo.

space.message.reaction

google.workspace.chat.reaction.v1.deleted

Một lượt thể hiện cảm xúc đã bị xoá.

space.message.reaction

google.workspace.chat.membership.v1.created

Một thành viên đã được tạo trong không gian này.

space.membership

google.workspace.chat.membership.v1.updated

Một thành viên đã được cập nhật trong không gian này.

space.membership

google.workspace.chat.membership.v1.deleted

Một thành viên đã bị xoá trong không gian này.

space.membership

google.workspace.chat.space.v1.updated

Không gian đã được cập nhật.

space

google.workspace.chat.space.v1.deleted

Không gian đã bị xoá.

space

Gói thuê bao cho người dùng  

google.workspace.chat.membership.v1.created

Người dùng sẽ trở thành thành viên của một không gian.

space.membership

google.workspace.chat.membership.v1.updated

Tư cách thành viên của người dùng trong một không gian sẽ được cập nhật.

space.membership

google.workspace.chat.membership.v1.deleted

Người dùng đã bị xoá tư cách thành viên của một không gian.

space.membership

Loại sự kiện chỉ cho kết quả

Việc đăng ký loại sự kiện google.workspace.APPLICATION.RESOURCE.VERSION.ACTION sẽ tự động thiết lập gói thuê bao để nhận được cả các phiên bản của loại sự kiện theo lô. Ví dụ: nếu đăng ký google.workspace.chat.membership.v1.created, bạn cũng sẽ nhận được các sự kiện liên quan đến google.workspace.chat.membership.v1.batchCreated.

Bảng sau đây cho biết những loại sự kiện chỉ kết quả của các gói thuê bao cho không gian và người dùng:

Loại sự kiện Mô tả Dữ liệu tài nguyên

google.workspace.chat.message.v1.batchCreated

Nhiều tin nhắn được đăng cùng một lúc.

Danh sách spaces.messages

google.workspace.chat.message.v1.batchUpdated

Nhiều thông báo được cập nhật cùng một lúc.

Danh sách spaces.messages

google.workspace.chat.reaction.v1.batchCreated

Nhiều phản ứng được tạo cùng một lúc.

Danh sách spaces.messages.reactions

google.workspace.chat.reaction.v1.batchDeleted

Nhiều lượt thể hiện cảm xúc bị xoá cùng một lúc.

Danh sách spaces.messages.reactions

google.workspace.chat.membership.v1.batchCreated

  • Nếu target_resource là một không gian: nhiều thành viên sẽ được tạo trong không gian đó.
  • Nếu target_resourcengười dùng: người dùng đó sẽ trở thành thành viên của nhiều không gian.

Danh sách spaces.memberships

google.workspace.chat.membership.v1.batchUpdated

  • Nếu target_resource là một không gian: nhiều thành viên được cập nhật trong không gian đó.
  • Nếu target_resourcengười dùng: tư cách thành viên của người dùng trong các không gian có nhiều nội dung cập nhật.

Danh sách spaces.memberships

google.workspace.chat.membership.v1.batchDeleted

  • Nếu target_resource là một không gian: nhiều thành viên sẽ bị xoá trong không gian đó.
  • Nếu target_resourcengười dùng: người dùng đó sẽ bị xoá khỏi nhiều không gian với tư cách thành viên.

Danh sách spaces.memberships

google.workspace.chat.space.v1.batchUpdated

Không gian có nhiều nội dung cập nhật.

Danh sách spaces

Dữ liệu sự kiện

Phần này mô tả dữ liệu sự kiện và tải trọng mẫu cho các sự kiện trong Chat.

Khi gói thuê bao Google Workspace của bạn nhận được một sự kiện từ Chat, trường data sẽ chứa tải trọng của sự kiện đó. Tải trọng này có thông tin về tài nguyên Google Workspace đã thay đổi. Ví dụ: nếu bạn đã đăng ký các sự kiện thành viên trong một không gian, tải trọng cho các sự kiện này sẽ chứa thông tin về tài nguyên spaces.membership đã thay đổi.

Dữ liệu tài nguyên trong tải trọng sự kiện

Khi tạo một gói thuê bao, bạn có thể chỉ định xem bạn muốn tải trọng chứa thông tin chi tiết về tài nguyên hay chỉ tên của tài nguyên. Ví dụ: nếu muốn nhận sự kiện về thành viên trong phòng Chat, bạn có thể chỉ định những trường của tài nguyên thành viên mà bạn muốn nhận trong tải trọng sự kiện.

Bảng sau đây cung cấp ví dụ về các tải trọng JSON của gói thuê bao spaces/AAAABBBBBB trong phòng Chat. Đối với mỗi sự kiện mà gói thuê bao nhận được, tải trọng sẽ xuất hiện trong trường data của sự kiện:

Ví dụ Loại sự kiện Tải trọng JSON

Một người dùng đăng tin nhắn trong không gian với nội dung "Xin chào mọi người".

google.workspace.chat.message.v1.created

Bao gồm cả dữ liệu tài nguyên
{
    "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"
    }
}
      
Không bao gồm dữ liệu tài nguyên
{
    "message":
    {
        "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD"
    }
}
      
Người dùng trở thành người quản lý không gian.

google.workspace.chat.membership.v1.updated

Bao gồm cả dữ liệu tài nguyên
{
    "membership":
    {
        "name": "spaces/AAAABBBBBB/members/1234567890987654321",
        "state": "JOINED",
        "member":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "createTime": "1970-01-01T00:00:00Z",
        "role": "ROLE_MANAGER"
    }
}
      
Không bao gồm dữ liệu tài nguyên
{
    "membership":
    {
        "name": "spaces/AAAABBBBBB/members/1234567890987654321"
    }
}
      
Một người dùng cập nhật nội dung mô tả về không gian thành "Nhóm bán hàng của Cymbal Labs". google.workspace.chat.space.v1.updated
Bao gồm cả dữ liệu tài nguyên
{
    "space":
    {
        "name": "spaces/AAAABBBBBB",
        "displayName": "Cymbal Sales",
        "spaceThreadingState": "THREADED_MESSAGES",
        "spaceType": "SPACE",
        "spaceDetails":
        {
            "description": "Sales team for Cymbal Labs."
        },
        "spaceHistoryState": "HISTORY_ON"
    }
}
      
Không bao gồm dữ liệu tài nguyên
{
    "space":
    {
        "name": "spaces/AAAABBBBBB"
    }
}
      
Hai người dùng Chat được thêm vào không gian cùng lúc. google.workspace.chat.membership.v1.batchCreated
Bao gồm cả dữ liệu tài nguyên
{
    "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"
          }
        }
    ]
}
      
Không bao gồm dữ liệu tài nguyên
{
    "memberships": [
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/1234567890987654321"
          }
        },
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/98765432123456789019"
          }
        }
    ]
}
      
Người dùng thể hiện cảm xúc với tin nhắn bằng biểu tượng 😊. google.workspace.chat.reaction.v1.created
Bao gồm cả dữ liệu tài nguyên
{
    "reaction":
    {
        "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222",
        "user":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "emoji":
        {
            "unicode": "😊"
        }
    }
}
      
Bỏ qua dữ liệu tài nguyên
{
    "reaction":
    {
        "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222"
    }
}
      
Người dùng thể hiện cảm xúc với tin nhắn bằng biểu tượng cảm xúc 😊 và biểu tượng cảm xúc 😸. google.workspace.chat.reaction.v1.batchCreated
Bao gồm cả dữ liệu tài nguyên
{
    "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": "😸"
            }
          }
        }
    ]
}
      
Bỏ qua dữ liệu tài nguyên
{
    "reactions": [
      {
        "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222"
        },
        "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444",
        }
      }
    ]
}