Trang này giải thích cách sử dụng API Sự kiện của Google Workspace để tạo gói thuê bao cho một tài nguyên Google Workspace. Gói thuê bao Google Workspace cho phép ứng dụng của bạn nhận thông tin về các sự kiện trên Google Workspace, đại diện cho các thay đổi đối với tài nguyên trên Google Workspace. Để tìm hiểu về các loại tài nguyên và sự kiện mà Google Workspace Events API hỗ trợ, hãy xem tổng quan về Google Workspace Events API.
Trang này trình bày các bước sau để tạo gói thuê bao Google Workspace:
- Thiết lập môi trường.
- Tạo và đăng ký một chủ đề trên Google Cloud Pub/Sub. Bạn sử dụng chủ đề này làm điểm cuối để nhận các sự kiện của Google Workspace.
- Gọi phương thức
create()
của API Sự kiện Google Workspace trên tài nguyênSubscription
. - Kiểm thử gói thuê bao Google Workspace để đảm bảo rằng chủ đề Pub/Sub của bạn nhận được các sự kiện mà bạn đã đăng ký.
- Bạn có thể tuỳ ý định cấu hình cách đẩy sự kiện đến một điểm cuối cho ứng dụng của mình để ứng dụng có thể xử lý sự kiện và thực hiện hành động nếu cần.
Điều kiện tiên quyết
Apps Script
- Cách sử dụng các lệnh Google Cloud CLI trong hướng dẫn này:
- Cài đặt Google Cloud CLI.
- Để
khởi chạy CLI
gcloud
, hãy chạy mã sau:
gcloud init
- Một dự án trên Google Cloud đã bật tính năng thanh toán. Đối với các gói thuê bao Chat, bạn cũng phải bật API Chat trong dự án trên Google Cloud và định cấu hình các trường Tên ứng dụng, URL hình đại diện và Mô tả. Để biết thông tin chi tiết, hãy xem bài viết Tạo ứng dụng Google Chat.
- Yêu cầu xác thực người dùng bằng màn hình xin phép OAuth được định cấu hình cho ứng dụng. Khi định cấu hình màn hình xin phép, bạn phải chỉ định phạm vi để hỗ trợ từng loại sự kiện cho gói thuê bao. Để định cấu hình màn hình đồng ý và xác định các phạm vi bắt buộc, hãy xem phần Chọn phạm vi.
- Một dự án Apps Script:
- Sử dụng dự án Google Cloud thay vì dự án mặc định do Apps Script tạo tự động.
- Đối với mọi phạm vi mà bạn đã thêm để định cấu hình màn hình đồng ý OAuth, bạn cũng phải thêm các phạm vi đó vào tệp
appsscript.json
trong dự án Apps Script. Ví dụ: - Bật
dịch vụ nâng cao
Google Workspace Events
.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
Python
- Python 3.6 trở lên
- Công cụ quản lý gói pip
- Thư viện ứng dụng Google mới nhất cho Python. Để cài đặt hoặc cập nhật các gói này, hãy chạy lệnh sau trong giao diện dòng lệnh:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Cách sử dụng các lệnh Google Cloud CLI trong hướng dẫn này:
- Cài đặt Google Cloud CLI.
- Để
khởi chạy CLI
gcloud
, hãy chạy mã sau:
gcloud init
- Một dự án trên Google Cloud đã bật tính năng thanh toán. Đối với các gói thuê bao Chat, bạn cũng phải bật API Chat trong dự án trên Google Cloud và định cấu hình các trường Tên ứng dụng, URL hình đại diện và Mô tả. Để biết thông tin chi tiết, hãy xem bài viết Tạo ứng dụng Google Chat.
- Yêu cầu xác thực người dùng bằng màn hình xin phép OAuth được định cấu hình cho ứng dụng. Khi định cấu hình màn hình xin phép, bạn phải chỉ định phạm vi để hỗ trợ từng loại sự kiện cho gói thuê bao. Để định cấu hình màn hình đồng ý và xác định các phạm vi bắt buộc, hãy xem phần Chọn phạm vi.
Thiết lập môi trường
Phần sau đây giải thích cách thiết lập môi trường trước khi tạo gói thuê bao Google Workspace.
Bật API Google Workspace Events và API Google Cloud Pub/Sub
Trước khi sử dụng API của Google, bạn cần bật các API đó trong một dự án Google Cloud. Bạn có thể bật một hoặc nhiều API trong một dự án Google Cloud.Bảng điều khiển Google Cloud
Trong Google Cloud Console, hãy mở dự án Google Cloud cho ứng dụng của bạn và bật API Sự kiện Google Workspace và API Pub/Sub:
gcloud
Trong thư mục đang hoạt động, hãy đăng nhập vào Tài khoản Google của bạn:
gcloud auth login
Đặt dự án của bạn thành dự án trên Cloud cho ứng dụng:
gcloud config set project PROJECT_ID
Thay thế
PROJECT_ID
bằng mã dự án cho dự án trên Google Cloud của ứng dụng.Bật API Sự kiện của Google Workspace và API Google Cloud Pub/Sub:
gcloud services enable pubsub.googleapis.com workspaceevents.googleapis.com
Tạo thông tin xác thực mã ứng dụng khách OAuth
Chọn loại ứng dụng để xem hướng dẫn cụ thể về cách tạo mã ứng dụng khách OAuth:
Ứng dụng web
- Trong Google Cloud Console, hãy chuyển đến Trình đơn > API và dịch vụ > Thông tin xác thực.
- Nhấp vào Tạo thông tin xác thực > Mã ứng dụng OAuth.
- Nhấp vào Loại ứng dụng > Ứng dụng web.
- Trong trường Name (Tên), hãy nhập tên cho thông tin xác thực. Tên này chỉ xuất hiện trong Google Cloud Console.
- Thêm URI được uỷ quyền liên quan đến ứng dụng của bạn:
- Ứng dụng phía máy khách (JavaScript) – Trong phần Nguồn gốc JavaScript được uỷ quyền, hãy nhấp vào Thêm URI. Sau đó, nhập một URI để sử dụng cho các yêu cầu của trình duyệt. Mã này xác định các miền mà ứng dụng của bạn có thể gửi yêu cầu API đến máy chủ OAuth 2.0.
- Ứng dụng phía máy chủ (Java, Python, v.v.) – Trong mục URI chuyển hướng được uỷ quyền, hãy nhấp vào Thêm URI. Sau đó, hãy nhập URI điểm cuối mà máy chủ OAuth 2.0 có thể gửi phản hồi.
- Nhấp vào Tạo. Màn hình ứng dụng OAuth đã tạo sẽ xuất hiện, hiển thị Mã ứng dụng và Mã xác thực ứng dụng mới.
Ghi lại mã ứng dụng khách. Khoá bí mật của ứng dụng không được dùng cho các ứng dụng web.
- Nhấp vào OK. Thông tin xác thực mới tạo sẽ xuất hiện trong phần Mã ứng dụng khách OAuth 2.0.
Android
- Trong Google Cloud Console, hãy chuyển đến Trình đơn > API và dịch vụ > Thông tin xác thực.
- Nhấp vào Tạo thông tin xác thực > Mã ứng dụng OAuth.
- Nhấp vào Loại ứng dụng > Android.
- Trong trường "Tên", hãy nhập tên cho thông tin xác thực. Tên này chỉ xuất hiện trong Google Cloud Console.
- Trong trường "Package name" (Tên gói), hãy nhập tên gói từ tệp
AndroidManifest.xml
. - Trong trường "Dấu vân tay số SHA-1 của chứng chỉ", hãy nhập dấu vân tay số SHA-1 của chứng chỉ đã tạo.
- Nhấp vào Tạo. Màn hình ứng dụng khách OAuth đã tạo sẽ xuất hiện, hiển thị Mã ứng dụng khách mới của bạn.
- Nhấp vào OK. Thông tin xác thực mới tạo sẽ xuất hiện trong phần "Mã ứng dụng khách OAuth 2.0".
iOS
- Trong Google Cloud Console, hãy chuyển đến Trình đơn > API và dịch vụ > Thông tin xác thực.
- Nhấp vào Tạo thông tin xác thực > Mã ứng dụng OAuth.
- Nhấp vào Loại ứng dụng > iOS.
- Trong trường "Tên", hãy nhập tên cho thông tin xác thực. Tên này chỉ xuất hiện trong Google Cloud Console.
- Trong trường "Mã nhận dạng gói", hãy nhập giá trị nhận dạng gói có trong tệp
Info.plist
của ứng dụng. - Không bắt buộc: Nếu ứng dụng của bạn xuất hiện trong Apple App Store, hãy nhập mã nhận dạng trên App Store.
- Không bắt buộc: Trong trường "Mã nhóm", hãy nhập chuỗi gồm 10 ký tự duy nhất do Apple tạo và chỉ định cho nhóm của bạn.
- Nhấp vào Tạo. Màn hình ứng dụng khách OAuth đã tạo sẽ xuất hiện, hiển thị Mã ứng dụng khách và Mã xác thực ứng dụng khách mới.
- Nhấp vào OK. Thông tin xác thực mới tạo sẽ xuất hiện trong phần "Mã ứng dụng khách OAuth 2.0".
Ứng dụng Chrome
- Trong Google Cloud Console, hãy chuyển đến Trình đơn > API và dịch vụ > Thông tin xác thực.
- Nhấp vào Tạo thông tin xác thực > Mã ứng dụng OAuth.
- Nhấp vào Loại ứng dụng > Ứng dụng Chrome.
- Trong trường "Tên", hãy nhập tên cho thông tin xác thực. Tên này chỉ xuất hiện trong Google Cloud Console.
- Trong trường "Mã ứng dụng", hãy nhập chuỗi mã nhận dạng gồm 32 ký tự duy nhất của ứng dụng. Bạn có thể tìm thấy giá trị mã nhận dạng này trong URL của ứng dụng trên Cửa hàng Chrome trực tuyến và trong Trang tổng quan dành cho nhà phát triển trên Cửa hàng Chrome trực tuyến.
- Nhấp vào Tạo. Màn hình ứng dụng khách OAuth đã tạo sẽ xuất hiện, hiển thị Mã ứng dụng khách và Mã xác thực ứng dụng khách mới.
- Nhấp vào OK. Thông tin xác thực mới tạo sẽ xuất hiện trong phần "Mã ứng dụng khách OAuth 2.0".
Ứng dụng dành cho máy tính
- Trong Google Cloud Console, hãy chuyển đến Trình đơn > API và dịch vụ > Thông tin xác thực.
- Nhấp vào Tạo thông tin xác thực > Mã ứng dụng OAuth.
- Nhấp vào Loại ứng dụng > Ứng dụng dành cho máy tính.
- Trong trường Name (Tên), hãy nhập tên cho thông tin xác thực. Tên này chỉ xuất hiện trong Google Cloud Console.
- Nhấp vào Tạo. Màn hình ứng dụng OAuth đã tạo sẽ xuất hiện, hiển thị Mã ứng dụng và Mã xác thực ứng dụng mới.
- Nhấp vào OK. Thông tin xác thực mới tạo sẽ xuất hiện trong phần Mã ứng dụng khách OAuth 2.0.
TV và thiết bị đầu vào có giới hạn
- Trong Google Cloud Console, hãy chuyển đến Trình đơn > API và dịch vụ > Thông tin xác thực.
- Nhấp vào Tạo thông tin xác thực > Mã ứng dụng OAuth.
- Nhấp vào Loại ứng dụng > TV và thiết bị đầu vào có giới hạn.
- Trong trường "Tên", hãy nhập tên cho thông tin xác thực. Tên này chỉ xuất hiện trong Google Cloud Console.
- Nhấp vào Tạo. Màn hình ứng dụng OAuth đã tạo sẽ xuất hiện, hiển thị Mã ứng dụng và Mã xác thực ứng dụng mới.
- Nhấp vào OK. Thông tin xác thực mới tạo sẽ xuất hiện trong phần "Mã ứng dụng khách OAuth 2.0".
Universal Windows Platform (UWP)
- Trong Google Cloud Console, hãy chuyển đến Trình đơn > API và dịch vụ > Thông tin xác thực.
- Nhấp vào Tạo thông tin xác thực > Mã ứng dụng OAuth.
- Nhấp vào Loại ứng dụng > Universal Windows Platform (UWP).
- Trong trường "Tên", hãy nhập tên cho thông tin xác thực. Tên này chỉ xuất hiện trong Google Cloud Console.
- Trong trường "Mã cửa hàng", hãy nhập giá trị mã Microsoft Store gồm 12 ký tự duy nhất của ứng dụng. Bạn có thể tìm thấy mã này trong URL của ứng dụng trên Microsoft Store và trong Partner Center.
- Nhấp vào Tạo. Màn hình ứng dụng khách OAuth đã tạo sẽ xuất hiện, hiển thị Mã ứng dụng khách và Mã xác thực ứng dụng khách mới.
- Nhấp vào OK. Thông tin xác thực mới tạo sẽ xuất hiện trong phần "Mã ứng dụng khách OAuth 2.0".
Tải tệp JSON chứa khoá ứng dụng khách xuống
Tệp mật khẩu ứng dụng là một tệp JSON thể hiện thông tin xác thực mã ứng dụng OAuth mà ứng dụng của bạn có thể tham chiếu khi cung cấp thông tin xác thực.
Trong Google Cloud Console, hãy chuyển đến Trình đơn > API và dịch vụ > Thông tin xác thực.
Trong phần Mã ứng dụng khách OAuth 2.0, hãy nhấp vào mã ứng dụng khách mà bạn đã tạo.
Nhấp vào Tải JSON xuống.
Lưu tệp dưới dạng
client_secrets.json
.
Tạo và đăng ký chủ đề Pub/Sub
Trong phần này, bạn sẽ tạo một chủ đề Pub/Sub và gói thuê bao cho chủ đề đó. Chủ đề Pub/Sub đóng vai trò là điểm cuối thông báo nơi gói thuê bao Google Workspace của bạn nhận được các sự kiện.
Để tìm hiểu thêm về cách tạo và quản lý chủ đề Pub/Sub, hãy xem tài liệu về Pub/Sub.
Cách tạo và đăng ký chủ đề Pub/Sub:
Bảng điều khiển Google Cloud
Trong Google Cloud Console, hãy chuyển đến trang Pub/Sub:
Truy cập vào Google Cloud Pub/Sub
Đảm bảo bạn đã chọn dự án trên Cloud cho ứng dụng.
Nhấp vào
Tạo chủ đề rồi làm như sau:- Nhập tên cho chủ đề, chẳng hạn như
workspace-events-topic
. - Để trạng thái chọn Thêm gói thuê bao mặc định. Pub/Sub đặt tên cho gói thuê bao mặc định này tương tự như tên chủ đề của bạn, chẳng hạn như
workspace-events-topic-sub
. - Không bắt buộc: Cập nhật hoặc định cấu hình thêm thuộc tính cho chủ đề của bạn.
- Nhập tên cho chủ đề, chẳng hạn như
Nhấp vào Tạo. Tên chủ đề đầy đủ của bạn có định dạng là
projects/PROJECT_ID/topics/TOPIC_ID
. Bạn sẽ sử dụng tên đầy đủ này trong bước sau.Cấp quyền phát hành thông báo Pub/Sub cho chủ đề của bạn:
- Trên trang chủ đề, hãy chuyển đến bảng điều khiển bên và mở thẻ Quyền.
- Nhấp vào Thêm người đại diện chính.
- Trong trường Add principals (Thêm chủ thể), hãy thêm tài khoản dịch vụ cho ứng dụng Google Workspace phân phối sự kiện đến gói thuê bao của bạn:
- Đối với sự kiện Chat,
chat-api-push@system.gserviceaccount.com
. - Đối với sự kiện trên Meet,
meet-api-event-push@system.gserviceaccount.com
.
- Đối với sự kiện Chat,
- Trong trình đơn Chỉ định vai trò, hãy chọn
Pub/Sub Publisher
. - Nhấp vào Lưu. Quá trình cập nhật quyền cho chủ đề của bạn có thể mất vài phút.
gcloud
Trong dự án trên Cloud, hãy tạo một chủ đề bằng cách chạy lệnh sau:
gcloud pubsub topics create TOPIC_ID
Thay thế
TOPIC_ID
bằng một mã nhận dạng duy nhất cho chủ đề của bạn, chẳng hạn nhưworkspace-events-topic
.Kết quả sẽ hiển thị tên chủ đề đầy đủ, được định dạng là
projects/PROJECT_ID/topics/TOPIC_ID
. Ghi lại tên và đảm bảo giá trị của PROJECT_ID là mã dự án trên Google Cloud cho ứng dụng của bạn. Bạn sẽ sử dụng tên chủ đề trong bước tiếp theo và để tạo gói thuê bao Google Workspace sau này.Cấp quyền phát hành tin nhắn cho chủ đề của bạn:
gcloud pubsub topics add-iam-policy-binding TOPIC_NAME --member='serviceAccount:GOOGLE_WORKSPACE_APPLICATION' --role='roles/pubsub.publisher'
Thay thế nội dung sau:
TOPIC_NAME
: Tên chủ đề đầy đủ, là kết quả của bước trước. Có định dạng làprojects/PROJECT_ID/topics/TOPIC_ID
.GOOGLE_WORKSPACE_APPLICATION
: Ứng dụng Google Workspace phải phân phối sự kiện đến gói thuê bao của bạn:- Để nhận sự kiện từ Chat, hãy sử dụng
chat-api-push@system.gserviceaccount.com
. - Để nhận sự kiện từ Meet, hãy sử dụng
meet-api-event-push@system.gserviceaccount.com
.
- Để nhận sự kiện từ Chat, hãy sử dụng
Quá trình cập nhật quyền cho chủ đề của bạn có thể mất vài phút.
Tạo gói thuê bao Pub/Sub cho chủ đề:
gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME
Thay thế nội dung sau:
SUBSCRIPTION_NAME
: Tên cho gói thuê bao, chẳng hạn nhưworkspace-events-subscription
.TOPIC_NAME
: Tên chủ đề mà bạn đã tạo trong bước trước.
Đăng ký nhận tài nguyên về Google Workspace
Trong phần này, bạn đăng ký tài nguyên Google Workspace mà bạn muốn theo dõi các sự kiện.
Chọn và xác định tài nguyên mục tiêu
Trong gói thuê bao Google Workspace, tài nguyên mục tiêu là tài nguyên Google Workspace mà bạn theo dõi để tìm sự kiện. Tài nguyên mục tiêu được biểu thị trong trường targetResource
của gói thuê bao, được định dạng bằng tên tài nguyên đầy đủ. Ví dụ: đối với một gói thuê bao theo dõi một không gian trên Google Chat (spaces/AAAABBBBBBB
), giá trị của targetResource
là //chat.googleapis.com/spaces/AAAABBBBBBB
.
Trước khi tạo gói thuê bao, hãy sử dụng các phần sau để tìm hiểu cách xác định và định dạng tài nguyên mục tiêu.
Xác định tài nguyên mục tiêu cho Chat
Tài nguyên mục tiêu | Định dạng | Giới hạn |
---|---|---|
Không gian |
trong đó SPACE là mã nhận dạng trong
tên tài nguyên của tài nguyên |
Người dùng Chat uỷ quyền gói thuê bao phải là thành viên của không gian thông qua Tài khoản Google hoặc Google Workspace của họ. |
Tất cả không gian của một người dùng |
|
Lượt đăng ký này chỉ nhận được các sự kiện cho những không gian mà người dùng là thành viên thông qua Tài khoản Google hoặc Google Workspace của họ. |
Người dùng |
trong đó USER là mã nhận dạng trong
tên tài nguyên của tài nguyên |
Lệnh đăng ký chỉ nhận được các sự kiện về người dùng đã uỷ quyền cho lệnh đăng ký. Một người dùng không thể uỷ quyền gói thuê bao thay mặt cho người dùng khác. |
Xác định tài nguyên mục tiêu cho Meet
Tài nguyên mục tiêu | Định dạng | Các điểm hạn chế (nếu có) |
---|---|---|
Không gian họp | //meet.googleapis.com/spaces/SPACE
trong đó SPACE là mã nhận dạng trong
tên tài nguyên của tài nguyên |
|
Người dùng | //cloudidentity.googleapis.com/users/USER
trong đó USER là mã nhận dạng trong trường
|
Gói thuê bao này nhận được các sự kiện về không gian họp mà người dùng là một trong những người sau:
|
Tạo gói thuê bao Google Workspace
Để tạo gói thuê bao, bạn sử dụng phương thức subscriptions.create()
của API Sự kiện Google Workspace để tạo tài nguyên Subscription
. Bạn chỉ định các trường sau:
targetResource
: Một Google Workspace mà bạn đã xác định trong phần trước, được định dạng bằng tên tài nguyên đầy đủ.eventTypes
: Một mảng gồm một hoặc nhiều loại sự kiện mà bạn muốn nhận về tài nguyên. Ví dụ: nếu ứng dụng của bạn chỉ cần biết về các tin nhắn mới được đăng lên một không gian Chat, thì ứng dụng của bạn chỉ cần đăng ký các sự kiện về tin nhắn đã tạo.notificationEndpoint
: Điểm cuối thông báo nơi gói thuê bao Google Workspace phân phối sự kiện. Bạn sử dụng chủ đề Pub/Sub mà bạn đã tạo trong phần trước.payloadOptions
: Các tuỳ chọn để chỉ định lượng dữ liệu tài nguyên cần đưa vào tải trọng sự kiện. Cấu hình này ảnh hưởng đến thời gian hết hạn của gói thuê bao. Để tìm hiểu thêm, hãy xem phần Dữ liệu sự kiện.
Cách tạo gói thuê bao Google Workspace:
Apps Script
Trong dự án Apps Script, hãy tạo một tệp tập lệnh mới tên là
createSubscription
và thêm mã sau:function createSubscription() { // The Google Workspace resource to monitor for events. const targetResource = 'TARGET_RESOURCE'; // The types of events to receive. const eventTypes = [EVENT_TYPES]; // The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic. const pubsubTopic = 'TOPIC_NAME'; // Whether to include resource data or not. const resourceData = RESOURCE_DATA; // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.create({ targetResource: targetResource, eventTypes: eventTypes, notificationEndpoint: { pubsubTopic: pubsubTopic, }, payloadOptions: { includeResource: resourceData } }); console.log(response); }
Thay thế nội dung sau:
TARGET_RESOURCE
: Tài nguyên Google Workspace mà bạn đang đăng ký, được định dạng là tên tài nguyên đầy đủ. Ví dụ: để đăng ký một không gian Google Chat có mã nhận dạng không gian làAAAABBBB
, hãy sử dụng//chat.googleapis.com/spaces/AAAABBBB
.EVENT_TYPES
: Một hoặc nhiều loại sự kiện mà bạn muốn đăng ký trong tài nguyên mục tiêu. Định dạng dưới dạng một mảng chuỗi, chẳng hạn như'google.workspace.chat.message.v1.created'
.TOPIC_NAME
: Tên đầy đủ của chủ đề Pub/Sub mà bạn đã tạo trong dự án trên Cloud. Có định dạng làprojects/PROJECT_ID/topics/TOPIC_ID
.RESOURCE_DATA
: Giá trị boolean chỉ định xem gói thuê bao có bao gồm dữ liệu tài nguyên trong tải trọng hay không:True
: Bao gồm tất cả dữ liệu tài nguyên. Để giới hạn các trường được đưa vào, hãy thêm trườngfieldMask
và chỉ định ít nhất một trường cho tài nguyên đã thay đổi. Chỉ các gói thuê bao hỗ trợ tài nguyên Chat mới bao gồm dữ liệu tài nguyên.False
: Loại trừ dữ liệu tài nguyên.
Để tạo gói thuê bao Google Workspace, hãy chạy hàm
createSubscription
trong dự án Apps Script.
Python
Trong thư mục đang hoạt động, hãy tạo một tệp có tên
create_subscription.py
rồi thêm mã sau:"""Create subscription.""" from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Specify required scopes. SCOPES = [SCOPES] # Authenticate with Google Workspace and get user authentication. flow = InstalledAppFlow.from_client_secrets_file('client_secrets.json', SCOPES) CREDENTIALS = flow.run_local_server() # The Google Workspace resource to monitor for events. TARGET_RESOURCE = 'TARGET_RESOURCE' # The types of events to receive. EVENT_TYPES = [EVENT_TYPES] # The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic. TOPIC = 'TOPIC_NAME' # Call the Workspace Events API using the service endpoint. service = build( 'workspaceevents', 'v1', credentials=CREDENTIALS, ) BODY = { 'target_resource': TARGET_RESOURCE, 'event_types': EVENT_TYPES, 'notification_endpoint': {'pubsub_topic': TOPIC}, 'payload_options': {'include_resource': RESOURCE_DATA}, } response = service.subscriptions().create(body=BODY).execute() print(response)
Thay thế nội dung sau:
SCOPES
: Một hoặc nhiều phạm vi OAuth hỗ trợ từng loại sự kiện cho gói thuê bao. Được định dạng dưới dạng một mảng chuỗi. Để liệt kê nhiều phạm vi, hãy phân tách bằng dấu phẩy. Ví dụ:'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'
.TARGET_RESOURCE
: Tài nguyên Google Workspace mà bạn đang đăng ký, được định dạng là tên tài nguyên đầy đủ. Ví dụ: để đăng ký một không gian Google Chat có mã nhận dạng không gian làAAAABBBB
, hãy sử dụng//chat.googleapis.com/spaces/AAAABBBB
.EVENT_TYPES
: Một hoặc nhiều loại sự kiện mà bạn muốn đăng ký trong tài nguyên mục tiêu. Định dạng dưới dạng một mảng chuỗi, chẳng hạn như'google.workspace.chat.message.v1.created'
.TOPIC_NAME
: Tên đầy đủ của chủ đề Pub/Sub mà bạn đã tạo trong dự án trên Cloud. Có định dạng làprojects/PROJECT_ID/topics/TOPIC_ID
.RESOURCE_DATA
: Giá trị boolean chỉ định xem gói thuê bao có bao gồm dữ liệu tài nguyên trong tải trọng hay không:True
: Bao gồm tất cả dữ liệu tài nguyên. Để giới hạn các trường được đưa vào, hãy thêm trườngfieldMask
và chỉ định ít nhất một trường cho tài nguyên đã thay đổi. Chỉ các gói thuê bao hỗ trợ tài nguyên Chat mới bao gồm dữ liệu tài nguyên.False
: Loại trừ dữ liệu tài nguyên.
Để tạo gói thuê bao Google Workspace, hãy chạy mã sau trong dòng lệnh:
python3 create_subscription.py
API Sự kiện của Google Workspace trả về một thao tác chạy trong thời gian dài đã hoàn tất, chứa thực thể của tài nguyên Subscription
mà bạn đã tạo.
Kiểm thử gói thuê bao Google Workspace
Để kiểm tra xem bạn có đang nhận được sự kiện của Google Workspace hay không, bạn có thể kích hoạt một sự kiện và kéo thông báo đến gói thuê bao Pub/Sub.
Cách kiểm thử gói thuê bao Google Workspace:
Bảng điều khiển Google Cloud
Kích hoạt một hoặc nhiều loại sự kiện trong tài nguyên mục tiêu của gói thuê bao Google Workspace. Ví dụ: nếu bạn đã đăng ký nhận tin nhắn mới trong một phòng Chat, hãy đăng tin nhắn vào phòng đó.
Trong Google Cloud Console, hãy chuyển đến trang Pub/Sub:
Đảm bảo bạn đã chọn dự án trên Cloud cho ứng dụng.
Trong trình đơn Pub/Sub, hãy nhấp vào Kênh đăng ký.
Trong bảng, hãy tìm gói thuê bao Pub/Sub cho chủ đề của bạn rồi nhấp vào tên gói thuê bao.
Nhấp vào thẻ Tin nhắn.
Nhấp vào Kéo. Có thể mất đến vài phút để một sự kiện tạo ra thông báo Pub/Sub.
gcloud
Kích hoạt một hoặc nhiều loại sự kiện trong tài nguyên mục tiêu của gói thuê bao Google Workspace. Ví dụ: nếu bạn đã đăng ký nhận tin nhắn mới trong một phòng Chat, hãy đăng tin nhắn trong phòng đó.
Chạy lệnh sau:
gcloud pubsub subscriptions pull PUBSUB_SUBSCRIPTION_NAME --format=json --limit=MESSAGE_COUNT --auto-ack
Thay thế nội dung sau:
PUBSUB_SUBSCRIPTION_NAME
: Tên đầy đủ của gói thuê bao Pub/Sub, được định dạng làprojects/SUBSCRIPTION_ID/subscriptions/SUBSCRIPTION_ID
.MESSAGE_COUNT
: Số lượng tin nhắn Pub/Sub tối đa mà bạn muốn lấy.
Một sự kiện có thể mất đến vài phút để tạo một thông báo Pub/Sub.
Đối với mỗi sự kiện Google Workspace mà bạn đã kích hoạt, một thông báo sẽ được gửi đến gói thuê bao Pub/Sub chứa sự kiện đó. Để biết thông tin chi tiết, hãy xem phần Nhận sự kiện dưới dạng thông báo Google Cloud Pub/Sub.
Định cấu hình cách ứng dụng của bạn nhận sự kiện
Gói thuê bao Pub/Sub mà bạn đã tạo là dựa trên phương thức kéo. Sau khi kiểm thử gói thuê bao Pub/Sub, bạn có thể cập nhật loại phân phối để thay đổi cách ứng dụng nhận sự kiện. Ví dụ: bạn có thể định cấu hình gói thuê bao Pub/Sub thành loại phân phối đẩy để ứng dụng của bạn có thể nhận sự kiện trực tiếp đến điểm cuối của ứng dụng.
Để tìm hiểu cách định cấu hình gói thuê bao Pub/Sub, hãy xem tài liệu về Pub/Sub.