Xác thực và uỷ quyền cho các ứng dụng trong Chat cũng như các yêu cầu API Google Chat

Xác thực và uỷ quyền là các cơ chế dùng để xác minh danh tính và quyền truy cập vào tài nguyên. Tài liệu này trình bày cách hoạt động của quy trình xác thực và uỷ quyền cho các ứng dụng Chat và yêu cầu API Chat.

Tổng quan về quy trình

Sơ đồ sau đây cho thấy các bước xác thực và uỷ quyền cấp cao cho Google Chat:

Các bước cấp cao để xác thực và uỷ quyền cho Google Chat
Hình 1. Các bước cấp cao để xác thực và uỷ quyền cho Google Chat.

  1. Định cấu hình một dự án trên Google Cloud, bật API Chat và định cấu hình ứng dụng Chat: Trong quá trình phát triển, bạn sẽ tạo một dự án trên Google Cloud. Trong dự án Google Cloud, bạn bật API Chat, định cấu hình ứng dụng Chat và thiết lập quy trình xác thực. Để biết thêm thông tin, hãy xem bài viết Phát triển trên Google Workspace và Xây dựng ứng dụng Chat.

  2. Gọi API Chat: Khi ứng dụng của bạn gọi API Chat, ứng dụng sẽ gửi thông tin xác thực đến API Chat. Nếu ứng dụng của bạn xác thực bằng tài khoản dịch vụ, thì thông tin đăng nhập sẽ được gửi dưới dạng một phần trong mã của ứng dụng. Nếu ứng dụng của bạn yêu cầu gọi API Chat bằng thông tin xác thực của người dùng chưa được cấp, thì ứng dụng sẽ nhắc người dùng đăng nhập.

  3. Yêu cầu tài nguyên: Ứng dụng của bạn yêu cầu quyền truy cập bằng phạm vi mà bạn chỉ định khi thiết lập quy trình xác thực.

  4. Yêu cầu sự đồng ý: Nếu ứng dụng của bạn đang xác thực với tư cách là người dùng, thì Google sẽ hiển thị màn hình xin phép OAuth để người dùng có thể quyết định xem có cấp cho ứng dụng của bạn quyền truy cập vào dữ liệu được yêu cầu hay không. Việc xác thực bằng tài khoản dịch vụ không yêu cầu sự đồng ý của người dùng.

  5. Gửi yêu cầu đã được phê duyệt về tài nguyên: Nếu người dùng đồng ý với phạm vi uỷ quyền, thì ứng dụng của bạn sẽ gói thông tin xác thực và phạm vi mà người dùng đã phê duyệt vào một yêu cầu. Yêu cầu được gửi đến máy chủ uỷ quyền của Google để lấy mã truy cập.

  6. Google trả về mã truy cập: Mã truy cập chứa danh sách các phạm vi được cấp. Nếu danh sách phạm vi được trả về hạn chế hơn so với phạm vi được yêu cầu, thì ứng dụng của bạn sẽ tắt mọi tính năng bị mã thông báo giới hạn.

  7. Truy cập vào tài nguyên được yêu cầu: Ứng dụng của bạn sử dụng mã truy cập của Google để gọi API Chat và truy cập vào tài nguyên của API Chat.

  8. Lấy mã làm mới (không bắt buộc): Nếu ứng dụng của bạn phải truy cập vào Google Chat API sau thời gian hoạt động của một mã truy cập, thì ứng dụng đó có thể lấy mã làm mới. Để biết thêm thông tin, hãy xem bài viết Sử dụng OAuth 2.0 để truy cập vào các API của Google.

  9. Yêu cầu thêm tài nguyên: Nếu cần thêm quyền truy cập, ứng dụng sẽ yêu cầu người dùng cấp các phạm vi mới, dẫn đến một yêu cầu mới để lấy mã truy cập (bước 3-6).

Trường hợp ứng dụng Chat yêu cầu xác thực

Ứng dụng trò chuyện có thể gửi tin nhắn để phản hồi hoạt động tương tác của người dùng hoặc gửi tin nhắn không đồng bộ. Các ứng dụng này cũng có thể thay mặt người dùng hoàn thành các việc, chẳng hạn như tạo không gian trò chuyện hoặc lấy danh sách người dùng trong một không gian trò chuyện.

Ứng dụng Chat không cần xác thực để phản hồi một lượt tương tác của người dùng, trừ phi ứng dụng Chat gọi API Chat hoặc một API khác của Google trong khi xử lý phản hồi.

Để gửi tin nhắn không đồng bộ hoặc thực hiện các thao tác thay mặt người dùng, ứng dụng Chat sẽ gửi các yêu cầu RESTful đến API Chat, yêu cầu xác thực và uỷ quyền.

Phản hồi cho các hoạt động tương tác của người dùng không cần xác thực

Các ứng dụng Google Chat không cần xác thực dưới dạng người dùng hoặc ứng dụng Chat để nhận và phản hồi đồng bộ với các hoạt động tương tác của người dùng.

Ứng dụng Google Chat nhận được đối tượng sự kiện bất cứ khi nào người dùng tương tác hoặc gọi một ứng dụng Chat, bao gồm:

  • Người dùng gửi tin nhắn đến một ứng dụng Chat.
  • Người dùng @đề cập đến một ứng dụng Chat.
  • Người dùng gọi một trong các lệnh của ứng dụng Chat.

Sơ đồ sau đây cho thấy trình tự yêu cầu-phản hồi giữa người dùng Chat và ứng dụng Chat:

Không cần uỷ quyền cho các hoạt động tương tác của người dùng ứng dụng Chat
Hình 2. Các hoạt động tương tác của người dùng với ứng dụng Chat không cần xác thực.

  1. Người dùng gửi tin nhắn đến ứng dụng Chat trong Google Chat.
  2. Google Chat sẽ chuyển tiếp tin nhắn đến ứng dụng.
  3. Ứng dụng nhận tin nhắn, xử lý tin nhắn và trả về một phản hồi cho Google Chat.
  4. Google Chat hiển thị câu trả lời cho người dùng hoặc trong một không gian.

Trình tự này lặp lại cho mỗi lượt tương tác của người dùng ứng dụng Chat.

Tin nhắn không đồng bộ cần được xác thực

Tin nhắn không đồng bộ xảy ra khi một ứng dụng Chat gửi yêu cầu đến API Chat, yêu cầu này cần được xác thực và uỷ quyền.

Bằng cách gọi API Chat, các ứng dụng Chat có thể đăng tin nhắn lên Google Chat hoặc hoàn thành các nhiệm vụ và truy cập dữ liệu thay mặt cho người dùng. Ví dụ: sau khi phát hiện sự cố ngừng hoạt động của máy chủ, một ứng dụng Chat có thể gọi API Chat để:

  • Tạo một không gian trò chuyện dành riêng cho việc điều tra và khắc phục sự cố.
  • Thêm người khác vào không gian trò chuyện.
  • Đăng tin nhắn lên phòng Chat để cung cấp thông tin chi tiết về sự cố ngừng hoạt động.

Sơ đồ sau đây cho thấy trình tự thông báo không đồng bộ giữa một ứng dụng Chat và một không gian Chat:

Cần xác thực đối với thông báo không đồng bộ
Hình 3. Thông báo không đồng bộ cần được xác thực.

  1. Ứng dụng Chat tạo tin nhắn bằng cách gọi API Chat thông qua phương thức spaces.messages.create và thêm thông tin đăng nhập của người dùng vào yêu cầu HTTP.
  2. Google Chat xác thực ứng dụng Chat bằng tài khoản dịch vụ hoặc thông tin xác thực của người dùng.
  3. Google Chat hiển thị tin nhắn của ứng dụng trong một không gian trò chuyện cụ thể.

Phạm vi của API Chat

Định cấu hình màn hình xin phép bằng OAuth và chọn phạm vi để xác định thông tin nào sẽ hiển thị cho người dùng và người đánh giá ứng dụng, đồng thời đăng ký ứng dụng để bạn có thể xuất bản sau này.

Để xác định cấp truy cập được cấp cho ứng dụng, bạn cần xác định và khai báo phạm vi uỷ quyền. Phạm vi uỷ quyền là một chuỗi URI OAuth 2.0 chứa tên ứng dụng Google Workspace, loại dữ liệu mà ứng dụng đó truy cập và cấp truy cập.

Phạm vi không nhạy cảm

Mã phạm vi Mô tả
https://www.googleapis.com/auth/chat.bot

Cho phép các ứng dụng Chat xem cuộc trò chuyện và gửi tin nhắn.

Phạm vi này chỉ hỗ trợ phương thức xác thực ứng dụng bằng tài khoản dịch vụ. Bạn không thể xác thực bằng thông tin đăng nhập của người dùng hoặc bằng quyền uỷ quyền trên toàn miền khi sử dụng phạm vi này.

Phạm vi nhạy cảm

Mã phạm vi Mô tả
https://www.googleapis.com/auth/chat.spaces Tạo cuộc trò chuyện và không gian cũng như xem hoặc chỉnh sửa siêu dữ liệu (bao gồm cả chế độ cài đặt nhật ký và chế độ cài đặt quyền truy cập) trong Chat.
https://www.googleapis.com/auth/chat.spaces.create Tạo cuộc trò chuyện mới trong Chat.
https://www.googleapis.com/auth/chat.spaces.readonly Xem cuộc trò chuyện và không gian trong Chat.
https://www.googleapis.com/auth/chat.memberships Xem, thêm, cập nhật và xoá thành viên khỏi các cuộc trò chuyện trong Chat.
https://www.googleapis.com/auth/chat.memberships.app Tự thêm và xoá chính ứng dụng khỏi cuộc trò chuyện trong Google Chat.
https://www.googleapis.com/auth/chat.memberships.readonly Xem thành viên trong các cuộc trò chuyện trên Chat.
https://www.googleapis.com/auth/chat.messages.create Soạn và gửi tin nhắn trong Chat.
https://www.googleapis.com/auth/chat.messages.reactions Xem, thêm và xoá các lượt bày tỏ cảm xúc đối với tin nhắn trong Chat.
https://www.googleapis.com/auth/chat.messages.reactions.create Thêm biểu tượng cảm xúc vào tin nhắn trong Chat.
https://www.googleapis.com/auth/chat.messages.reactions.readonly Xem biểu tượng cảm xúc đối với tin nhắn trong Chat.
https://www.googleapis.com/auth/chat.users.readstate Xem và sửa đổi thời gian đọc gần đây nhất của cuộc trò chuyện trên Chat.
https://www.googleapis.com/auth/chat.users.readstate.readonly Xem thời gian đọc gần đây nhất đối với các cuộc trò chuyện trên Chat.
https://www.googleapis.com/auth/chat.admin.spaces.readonly Xem cuộc trò chuyện và không gian thuộc miền của quản trị viên trong Chat.
https://www.googleapis.com/auth/chat.admin.spaces Xem hoặc chỉnh sửa cuộc trò chuyện và không gian thuộc miền của quản trị viên trong Chat.
https://www.googleapis.com/auth/chat.admin.memberships.readonly Xem thành viên và người quản lý trong các cuộc trò chuyện do miền của quản trị viên sở hữu trong Chat.
https://www.googleapis.com/auth/chat.admin.memberships Xem, thêm, cập nhật và xoá thành viên cũng như người quản lý trong các cuộc trò chuyện thuộc miền của quản trị viên trong Chat.
https://www.googleapis.com/auth/chat.app.spaces

Tạo cuộc trò chuyện và không gian cũng như xem hoặc cập nhật siêu dữ liệu (bao gồm cả chế độ cài đặt nhật ký và chế độ cài đặt quyền truy cập) trong Chat dưới dạng một ứng dụng Chat. Cần có sự phê duyệt của quản trị viên.

Phạm vi này chỉ hỗ trợ phương thức xác thực ứng dụng bằng tài khoản dịch vụ. Bạn không thể xác thực bằng thông tin đăng nhập của người dùng hoặc bằng quyền uỷ quyền trên toàn miền khi sử dụng phạm vi này.

https://www.googleapis.com/auth/chat.app.spaces.readonly

Xem siêu dữ liệu (bao gồm cả chế độ cài đặt nhật ký) trong Chat dưới dạng một ứng dụng Chat. Cần có sự phê duyệt của quản trị viên.

Phạm vi này chỉ hỗ trợ phương thức xác thực ứng dụng bằng tài khoản dịch vụ. Bạn không thể xác thực bằng thông tin đăng nhập của người dùng hoặc bằng quyền uỷ quyền trên toàn miền khi sử dụng phạm vi này.

https://www.googleapis.com/auth/chat.app.spaces.create

Tạo cuộc trò chuyện và không gian mới trong Chat dưới dạng một ứng dụng Chat. Cần có sự phê duyệt của quản trị viên.

Phạm vi này chỉ hỗ trợ phương thức xác thực ứng dụng bằng tài khoản dịch vụ. Bạn không thể xác thực bằng thông tin đăng nhập của người dùng hoặc bằng quyền uỷ quyền trên toàn miền khi sử dụng phạm vi này.

https://www.googleapis.com/auth/chat.app.memberships

Xem, thêm, cập nhật và xoá thành viên khỏi cuộc trò chuyện và không gian trong Chat dưới dạng một ứng dụng Chat. Cần có sự phê duyệt của quản trị viên.

Phạm vi này chỉ hỗ trợ phương thức xác thực ứng dụng bằng tài khoản dịch vụ. Bạn không thể xác thực bằng thông tin đăng nhập của người dùng hoặc bằng quyền uỷ quyền trên toàn miền khi sử dụng phạm vi này.

https://www.googleapis.com/auth/chat.app.memberships.readonly

Xem thành viên trong các cuộc trò chuyện và không gian trong Chat dưới dạng một ứng dụng Chat. Cần có sự phê duyệt của quản trị viên.

Phạm vi này chỉ hỗ trợ phương thức xác thực ứng dụng bằng tài khoản dịch vụ. Bạn không thể xác thực bằng thông tin đăng nhập của người dùng hoặc bằng quyền uỷ quyền trên toàn miền khi sử dụng phạm vi này.

https://www.googleapis.com/auth/chat.customemojis Xem, tạo và xoá biểu tượng cảm xúc tuỳ chỉnh trong Chat.
https://www.googleapis.com/auth/chat.customemojis.readonly Xem biểu tượng cảm xúc tuỳ chỉnh trong Chat.
https://www.googleapis.com/auth/chat.users.spacesettings Xem và cập nhật chế độ cài đặt không gian của người dùng Chat.
https://www.googleapis.com/auth/chat.users.sections Xem, tạo, cập nhật và xoá các phần nội dung trên Chat; di chuyển và liệt kê các mục trong phần nội dung trên Chat.
https://www.googleapis.com/auth/chat.users.sections.readonly Xem các phần nội dung và các mục trong đó trên Chat.

Phạm vi bị hạn chế

Mã phạm vi Mô tả
https://www.googleapis.com/auth/chat.delete Xoá các cuộc trò chuyện và không gian, đồng thời xoá quyền truy cập vào các tệp có liên quan trong Chat.
https://www.googleapis.com/auth/chat.import Nhập không gian, tin nhắn và gói thành viên vào Chat. Để biết thêm thông tin, hãy xem bài viết Uỷ quyền cho ứng dụng Chat nhập dữ liệu
https://www.googleapis.com/auth/chat.messages Xem, soạn, gửi, cập nhật và xoá tin nhắn, cũng như thêm, xem và xoá biểu tượng cảm xúc đối với tin nhắn.
https://www.googleapis.com/auth/chat.messages.readonly Xem tin nhắn và biểu tượng cảm xúc trong Chat.
https://www.googleapis.com/auth/chat.app.messages.readonly

Xem tin nhắn và biểu tượng cảm xúc trong Chat dưới dạng một ứng dụng Chat. Cần có sự phê duyệt của quản trị viên.

Phạm vi này chỉ hỗ trợ phương thức xác thực ứng dụng bằng tài khoản dịch vụ. Bạn không thể xác thực bằng thông tin đăng nhập của người dùng hoặc bằng quyền uỷ quyền trên toàn miền khi sử dụng phạm vi này.

https://www.googleapis.com/auth/chat.admin.delete Xoá các cuộc trò chuyện và không gian thuộc miền của quản trị viên, đồng thời xoá quyền truy cập vào các tệp có liên quan trong Chat.
https://www.googleapis.com/auth/chat.app.delete

Xoá các cuộc trò chuyện và không gian, đồng thời xoá quyền truy cập vào các tệp có liên quan trong Chat dưới dạng một ứng dụng Chat. Cần có sự phê duyệt của quản trị viên.

Phạm vi này chỉ hỗ trợ phương thức xác thực ứng dụng bằng tài khoản dịch vụ. Bạn không thể xác thực bằng thông tin đăng nhập của người dùng hoặc bằng quyền uỷ quyền trên toàn miền khi sử dụng phạm vi này.

Phạm vi trong các bảng trước cho biết mức độ nhạy cảm của chúng, theo các định nghĩa sau:

Nếu ứng dụng của bạn yêu cầu quyền truy cập vào bất kỳ API nào khác của Google, thì bạn cũng có thể thêm các phạm vi đó. Để biết thêm thông tin về phạm vi API của Google, hãy xem bài viết Sử dụng OAuth 2.0 để truy cập vào các API của Google.

Để tìm hiểu thêm về phạm vi cho các API Google Workspace, hãy xem bài viết Định cấu hình màn hình xin phép bằng OAuth và chọn phạm vi.

Các loại xác thực bắt buộc

Có hai cách để ứng dụng Chat xác thực và uỷ quyền bằng API Chat:

Xác thực người dùng
Tính năng xác thực người dùng cho phép ứng dụng Chat truy cập vào dữ liệu người dùng và hoàn tất các hành động thay mặt cho người dùng. Phạm vi OAuth chỉ định dữ liệu và hành động được uỷ quyền. Trừ phi ứng dụng Chat được quản trị viên cài đặt hoặc được cấp quyền uỷ quyền trên toàn miền, thì trong lần đầu tiên ứng dụng Chat thực hiện một hành động thay mặt cho người dùng, người dùng phải uỷ quyền cho ứng dụng Chat bằng màn hình xin phép bằng OAuth.
Xác thực ứng dụng

Phương thức xác thực ứng dụng cho phép một ứng dụng Chat sử dụng thông tin đăng nhập của tài khoản dịch vụ và truy cập dữ liệu cũng như hoàn tất các hành động dưới danh nghĩa của chính ứng dụng đó. Vì ứng dụng Chat sử dụng thông tin xác thực riêng để truy cập và làm việc với tài nguyên, nên người dùng cuối không cần phê duyệt các lệnh gọi API của ứng dụng Chat và bạn không thể thêm phạm vi uỷ quyền OAuth hỗ trợ uỷ quyền ứng dụng vào màn hình xin phép bằng OAuth.

Hai loại phạm vi uỷ quyền OAuth hỗ trợ việc xác thực ứng dụng:

  • https://www.googleapis.com/auth/chat.bot: Ứng dụng Chat của bạn có thể gọi các phương thức của API Google Chat hỗ trợ phạm vi uỷ quyền này để tạo, cập nhật, lấy, liệt kê hoặc xoá các tài nguyên mà ứng dụng có quyền truy cập, chẳng hạn như tin nhắn trong không gian mà người dùng cuối thêm ứng dụng Chat của bạn vào. Ứng dụng Chat của bạn có thể tự cấp phạm vi uỷ quyền này mà không cần quản trị viên hoặc người dùng cuối uỷ quyền.
  • https://www.googleapis.com/auth/chat.app.*: Để sử dụng các phạm vi này, bạn cần có sự phê duyệt một lần của quản trị viên. Để nhận được sự phê duyệt của quản trị viên, bạn chuẩn bị tài khoản dịch vụ của ứng dụng Chat để nhận được sự phê duyệt của quản trị viên bằng cách tạo một ứng dụng OAuth tương thích với Google Workspace Marketplace và định cấu hình ứng dụng trong SDK Google Workspace Marketplace. Các phạm vi này cho phép ứng dụng Chat của bạn gọi các phương thức cụ thể của API Google Chat. Ví dụ: chat.app.spaces.create cho phép các ứng dụng tạo không gian trong Chat.

Nếu một phương thức hỗ trợ cả việc xác thực người dùng hoặc ứng dụng, thì Chat API sẽ trả về các kết quả khác nhau dựa trên loại xác thực mà bạn sử dụng:

  • Khi xác thực ứng dụng, các phương thức chỉ trả về những tài nguyên mà Ứng dụng Chat có thể truy cập.
  • Khi xác thực người dùng, các phương thức chỉ trả về những tài nguyên mà người dùng có thể truy cập.

Ví dụ: khi gọi phương thức spaces.list() bằng quyền uỷ quyền của ứng dụng, bạn sẽ nhận được danh sách các không gian mà ứng dụng Chat là thành viên. Khi gọi spaces.list() bằng thông tin uỷ quyền của người dùng, bạn sẽ nhận được danh sách các không gian mà người dùng đó là thành viên. Trên thực tế, bạn có thể sử dụng cả hai loại xác thực khi gọi API Chat, tuỳ thuộc vào thiết kế và tính năng của ứng dụng Chat.

Đối với lệnh gọi API Chat không đồng bộ

Bảng sau đây liệt kê các phương thức của API Chat và phạm vi uỷ quyền được hỗ trợ:

Phương thức Hỗ trợ xác thực người dùng Hỗ trợ xác thực ứng dụng Phạm vi uỷ quyền được hỗ trợ
Không gian  
Tạo không gian Với Xác thực người dùng:
  • chat.spaces.create
  • chat.spaces
  • chat.import
Khi Xác thực ứng dụng và Quản trị viên phê duyệt:
  • chat.app.spaces.create
  • chat.app.spaces
Thiết lập không gian — Với Xác thực người dùng:
  • chat.spaces.create
  • chat.spaces
Tạo không gian Với Xác thực người dùng:
  • chat.spaces.readonly
  • chat.spaces
Khi Xác thực người dùng bằng đặc quyền của quản trị viên:
  • chat.admin.spaces.readonly
Khi Xác thực ứng dụng:
  • chat.bot
Khi Xác thực ứng dụng và Quản trị viên phê duyệt:
  • chat.app.spaces
Liệt kê không gian Với Xác thực người dùng:
  • chat.spaces.readonly
  • chat.spaces
Khi Xác thực ứng dụng:
  • chat.bot
Tìm kiếm không gian — Với Xác thực người dùng bằng đặc quyền của quản trị viên:
  • chat.admin.spaces.readonly
Cập nhật không gian Với Xác thực người dùng:
  • chat.spaces
  • chat.import
Khi Xác thực người dùng bằng đặc quyền của quản trị viên:
  • chat.admin.spaces
Khi Xác thực ứng dụng và Quản trị viên phê duyệt:
  • chat.app.spaces
Xoá không gian Với Xác thực người dùng:
  • chat.delete
  • chat.import
Khi Xác thực người dùng bằng đặc quyền của quản trị viên:
  • chat.admin.delete
Khi Xác thực ứng dụng và Quản trị viên phê duyệt:
  • chat.app.delete
Hoàn tất quy trình nhập dữ liệu cho một không gian — Với Xác thực người dùng:
  • chat.import
Tìm tin nhắn trực tiếp Với Xác thực người dùng:
  • chat.spaces.readonly
  • chat.spaces
Khi Xác thực ứng dụng:
  • chat.bot
Thành viên  
Tạo thành viên Với Xác thực người dùng:
  • chat.memberships
  • chat.memberships.app
  • chat.import
Khi Xác thực người dùng bằng đặc quyền của quản trị viên:
  • chat.admin.memberships
Khi Xác thực ứng dụng và Quản trị viên phê duyệt:
  • chat.app.memberships
Lấy thông tin thành viên Với Xác thực người dùng:
  • chat.memberships.readonly
  • chat.memberships
Khi Xác thực ứng dụng:
  • chat.bot
Khi Xác thực người dùng bằng đặc quyền của quản trị viên:
  • chat.admin.memberships.readonly
Danh sách thành viên Với Xác thực người dùng:
  • chat.memberships.readonly
  • chat.memberships
  • chat.import
Khi Xác thực ứng dụng:
  • chat.bot
Với Xác thực người dùng bằng đặc quyền của quản trị viên:
  • chat.admin.memberships.readonly
Xoá thành viên Với Xác thực người dùng:
  • chat.memberships
  • chat.memberships.app
  • chat.import
Với Xác thực người dùng bằng đặc quyền của quản trị viên:
  • chat.admin.memberships
Khi Xác thực ứng dụng và Quản trị viên phê duyệt:
  • chat.app.memberships
Cập nhật thông tin về thành viên Với Xác thực người dùng:
  • chat.memberships
  • chat.import
Với Xác thực người dùng bằng đặc quyền của quản trị viên:
  • chat.admin.memberships
Khi Xác thực ứng dụng và được quản trị viên phê duyệt:
  • chat.app.memberships
Tin nhắn  
Tạo thông báo Với Xác thực người dùng:
  • chat.messages.create
  • chat.messages
  • chat.import
Khi Xác thực ứng dụng:
  • chat.bot
Nhận tin nhắn Với Xác thực người dùng:
  • chat.messages.readonly
  • chat.messages
Khi Xác thực ứng dụng:
  • chat.bot
Khi Xác thực ứng dụng và Quản trị viên phê duyệt:
  • chat.app.messages.readonly
Liệt kê thư Với Xác thực người dùng:
  • chat.messages.readonly
  • chat.messages
  • chat.import
Khi Xác thực ứng dụng và Quản trị viên phê duyệt:
  • chat.app.messages.readonly
Tìm kiếm tin nhắn — Với Xác thực người dùng:
  • chat.messages.readonly
  • chat.messages
Cập nhật thông báo Với Xác thực người dùng:
  • chat.messages
  • chat.import
Khi Xác thực ứng dụng:
  • chat.bot
Xoá tin nhắn Với Xác thực người dùng:
  • chat.messages
  • chat.import
Khi Xác thực ứng dụng:
  • chat.bot
Ghim tin nhắn — Với Xác thực người dùng:
  • chat.spaces.pins
  • chat.spaces
Bỏ ghim tin nhắn — Với Xác thực người dùng:
  • chat.spaces.pins
  • chat.spaces
Liệt kê tin nhắn đã ghim — Với Xác thực người dùng:
  • chat.spaces.pins.readonly
  • chat.spaces.readonly
  • chat.spaces.pins
  • chat.spaces
Cập nhật thẻ trong tin nhắn — Bằng tính năng Xác thực ứng dụng:
  • chat.bot
Bày tỏ cảm xúc  
Tạo phản ứng — Với Xác thực người dùng:
  • chat.messages.reactions.create
  • chat.messages.reactions
  • chat.messages
  • chat.import
Liệt kê các lượt bày tỏ cảm xúc — Với Xác thực người dùng:
  • chat.messages.reactions.readonly
  • chat.messages.reactions
  • chat.messages.readonly
  • chat.messages
Xoá lượt thể hiện cảm xúc — Với Xác thực người dùng:
  • chat.messages.reactions
  • chat.messages
  • chat.import
Biểu tượng cảm xúc tuỳ chỉnh  
Tạo biểu tượng cảm xúc tuỳ chỉnh — Với Xác thực người dùng:
  • chat.customemojis
Xoá biểu tượng cảm xúc tuỳ chỉnh — Với Xác thực người dùng:
  • chat.customemojis
Nhận biểu tượng cảm xúc tuỳ chỉnh — Với Xác thực người dùng:
  • chat.customemojis
  • chat.customemojis.readonly
Liệt kê biểu tượng cảm xúc tuỳ chỉnh — Với Xác thực người dùng:
  • chat.customemojis
  • chat.customemojis.readonly
Nội dung nghe nhìn và tệp đính kèm  
Tải nội dung nghe nhìn lên dưới dạng tệp đính kèm — Với Xác thực người dùng:
  • chat.messages.create
  • chat.messages
  • chat.import
Tải nội dung nghe nhìn xuống Với Xác thực người dùng:
  • chat.messages.readonly
  • chat.messages
Khi Xác thực ứng dụng:
  • chat.bot
Lấy tệp đính kèm trong thư — Bằng tính năng Xác thực ứng dụng:
  • chat.bot
Trạng thái đọc của người dùng
Lấy trạng thái đọc không gian của người dùng — Với Xác thực người dùng:
  • chat.users.readstate
  • chat.users.readstate.readonly
Cập nhật trạng thái đọc không gian của người dùng — Với Xác thực người dùng:
  • chat.users.readstate
Lấy trạng thái đọc chuỗi tin nhắn của người dùng — Với Xác thực người dùng:
  • chat.users.readstate
  • chat.users.readstate.readonly
Chế độ cài đặt không gian của người dùng
Lấy chế độ cài đặt thông báo về không gian của người dùng — Với Xác thực người dùng:
  • chat.users.spacesettings
Cập nhật chế độ cài đặt thông báo về không gian của người dùng — Với Xác thực người dùng:
  • chat.users.spacesettings
Sự kiện trong không gian
Lấy sự kiện trong không gian — Với Xác thực người dùng, bạn phải sử dụng phạm vi dựa trên loại sự kiện:
  • Đối với các sự kiện về tin nhắn:
    • chat.messages
    • chat.messages.readonly
  • Đối với các sự kiện về biểu tượng cảm xúc:
    • chat.messages.reactions
    • chat.messages.reactions.readonly
    • chat.messages
    • chat.messages.readonly
  • Đối với các sự kiện về gói thành viên:
    • chat.memberships
    • chat.memberships.readonly
  • Đối với các sự kiện về không gian:
    • chat.spaces
    • chat.spaces.readonly
Liệt kê các sự kiện trong không gian — Với tính năng Xác thực người dùng, bạn phải sử dụng một phạm vi cho mỗi loại sự kiện có trong yêu cầu:
  • Đối với các sự kiện về tin nhắn:
    • chat.messages
    • chat.messages.readonly
  • Đối với các sự kiện về biểu tượng cảm xúc:
    • chat.messages.reactions
    • chat.messages.reactions.readonly
    • chat.messages
    • chat.messages.readonly
  • Đối với các sự kiện về gói thành viên:
    • chat.memberships
    • chat.memberships.readonly
  • Đối với các sự kiện về không gian:
    • chat.spaces
    • chat.spaces.readonly
Phần  
Tạo phần kênh — Với Xác thực người dùng:
  • chat.users.sections
Xoá một mục — Với Xác thực người dùng:
  • chat.users.sections
Liệt kê các mục — Với Xác thực người dùng:
  • chat.users.sections
  • chat.users.sections.readonly
Cập nhật một phần — Với Xác thực người dùng:
  • chat.users.sections
Đặt vị trí cho một phần — Với Xác thực người dùng:
  • chat.users.sections
Mục trong phần  
Di chuyển một mục trong phần — Với Xác thực người dùng:
  • chat.users.sections
Mục trong phần danh sách — Với Xác thực người dùng:
  • chat.users.sections
  • chat.users.sections.readonly

Đối với sự kiện tương tác với ứng dụng Chat

Bảng sau đây liệt kê các cách phổ biến mà người dùng tương tác với ứng dụng Chat và cho biết liệu có cần hoặc hỗ trợ xác thực hay không:

Trường hợp Không cần xác thực Hỗ trợ xác thực người dùng Hỗ trợ xác thực ứng dụng
Nhận tin nhắn từ:
Sự kiện tương tác với ứng dụng Chat — —
Lệnh gọi lại của Apps Script — —
Google Cloud Pub/Sub — —
Trả lời tin nhắn:
Đồng bộ, sử dụng sự kiện tương tác với ứng dụng Chat — —
Đồng bộ, sử dụng giá trị trả về của lệnh gọi lại Apps Script — —
Gửi tin nhắn mới:
Bằng webhook đến — —