Trang này giải thích cách sử dụng Google Workspace Events API để tạo một lượt đăng ký 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. Các sự kiện này thể hiện những thay đổi đối với một tài nguyên trên Google Workspace. Để tìm hiểu về những tài nguyên và loại sự kiện mà Google Workspace Events API hỗ trợ, hãy xem Tổng quan về Google Workspace Events API.
Trang này bao gồm 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ủ đề 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 Google Workspace Events API trên tài nguyênSubscription
. - Kiểm thử gói thuê bao Google Workspace để xác minh 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ể định cấu hình cách đẩy các 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
gcloud
CLI, 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 lượt đăng ký Chat, bạn cũng phải bật API Chat trong dự án trên Cloud và định cấu hình các trường Tên ứng dụng, URL hình đại diện và Nội dung 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 người dùng xác thực bằng màn hình xin phép bằng 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 một 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 của bạn thay vì dự án mặc định do Apps Script tự động tạo.
- Đối với mọi phạm vi mà bạn đã thêm để định cấu hình màn hình đồng ý của 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 mới nhất của Google cho Python. Để cài đặt hoặc cập nhật các công cụ 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
gcloud
CLI, 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 lượt đăng ký Chat, bạn cũng phải bật API Chat trong dự án trên Cloud và định cấu hình các trường Tên ứng dụng, URL hình đại diện và Nội dung 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 người dùng xác thực bằng màn hình xin phép bằng 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 một 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 Google Workspace Events API và Google Cloud Pub/Sub API
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 rồi bật Google Workspace Events API và Pub/Sub API:
gcloud
Trong thư mục làm việc, 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 Cloud cho ứng dụng:
gcloud config set project PROJECT_ID
Thay
PROJECT_ID
bằng mã dự án cho dự án trên 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 đăng nhập mã ứng dụng 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 bảng điều khiển Google Cloud, hãy chuyển đến phần Trình đơn > > Ứng dụng.
- Nhấp vào Tạo ứng dụng.
- 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 đăng nhập. Tên này chỉ xuất hiện trong Google Cloud Console.
- Thêm các 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 đó, hãy nhập một URI để sử dụng cho các yêu cầu của trình duyệt. Tham số này xác định những 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à các ứng dụng khác) – 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 một 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.
Thông tin xác thực mới tạo sẽ xuất hiện trong phần Mã ứng dụng OAuth 2.0.
Ghi lại Mã ứng dụng khách. Khoá bí mật ứng dụng không được dùng cho các ứng dụng Web.
Android
- Trong bảng điều khiển Google Cloud, hãy chuyển đến phần Trình đơn > > Ứng dụng.
- Nhấp vào Tạo ứng dụng.
- 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 đăng nhập. Tên này chỉ xuất hiện trong Google Cloud Console.
- Trong trường "Tên gói", hãy nhập tên gói trong tệp
AndroidManifest.xml
. - Trong trường "SHA-1 certificate fingerprint" (Dấu vân tay chứng chỉ SHA-1), hãy nhập dấu vân tay chứng chỉ SHA-1 đã tạo.
- Nhấp vào Tạo.
Thông tin xác thực mới tạo sẽ xuất hiện trong phần "Mã ứng dụng OAuth 2.0".
iOS
- Trong bảng điều khiển Google Cloud, hãy chuyển đến phần Trình đơn > > Ứng dụng.
- Nhấp vào Tạo ứng dụng.
- 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 đăng nhập. 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ã App Store.
- Không bắt buộc: Trong trường "Team ID" (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.
Thông tin xác thực mới tạo sẽ xuất hiện trong phần "Mã ứng dụng OAuth 2.0".
Ứng dụng Chrome
- Trong bảng điều khiển Google Cloud, hãy chuyển đến phần Trình đơn > > Ứng dụng.
- Nhấp vào Tạo ứng dụng.
- Nhấp vào Loại ứng dụng > Tiện ích Chrome.
- Trong trường "Tên", hãy nhập tên cho thông tin đăng nhập. Tên này chỉ xuất hiện trong Google Cloud Console.
- Trong trường "Mã mặt hàng", hãy nhập chuỗi mã nhận dạng duy nhất gồm 32 ký 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 của Cửa hàng Chrome trực tuyến.
- Nhấp vào Tạo.
Thông tin xác thực mới tạo sẽ xuất hiện trong phần "Mã ứng dụng OAuth 2.0".
Ứng dụng dành cho máy tính
- Trong bảng điều khiển Google Cloud, hãy chuyển đến phần Trình đơn > > Ứng dụng.
- Nhấp vào Tạo ứng dụng.
- 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 đăng nhập. Tên này chỉ xuất hiện trong Google Cloud Console.
- Nhấp vào Tạo.
Thông tin xác thực mới tạo sẽ xuất hiện trong phần "Mã ứng dụng OAuth 2.0".
TV và thiết bị đầu vào giới hạn
- Trong bảng điều khiển Google Cloud, hãy chuyển đến phần Trình đơn > > Ứng dụng.
- Nhấp vào Tạo ứng dụng.
- Nhấp vào Loại ứng dụng > TV và thiết bị có phương thức nhập hạn chế.
- Trong trường "Tên", hãy nhập tên cho thông tin đăng nhập. Tên này chỉ xuất hiện trong Google Cloud Console.
- Nhấp vào Tạo.
Thông tin xác thực mới tạo sẽ xuất hiện trong phần "Mã ứng dụng OAuth 2.0".
Universal Windows Platform (UWP)
- Trong bảng điều khiển Google Cloud, hãy chuyển đến phần Trình đơn > > Ứng dụng.
- Nhấp vào Tạo ứng dụng.
- Nhấp vào Application type (Loại ứng dụng) > Universal Windows Platform (UWP) (Nền tảng Windows đa năng).
- Trong trường "Tên", hãy nhập tên cho thông tin đăng nhập. 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.
Thông tin xác thực mới tạo sẽ xuất hiện trong phần "Mã ứng dụng OAuth 2.0".
Tải tệp JSON chứa mật khẩu ứng dụng khách xuống
Tệp mật khẩu ứng dụng khách là một biểu thị JSON của thông tin đăng nhập 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 đăng nhập.
Trong Google Cloud Console, hãy chuyển đến phần Trình đơn > API và dịch vụ > Thông tin xác thực.
Trong phần Mã ứng dụng OAuth 2.0, hãy nhấp vào mã ứng dụng mà bạn đã tạo.
Nhấp vào Tải tệp JSON xuống.
Lưu tệp dưới dạng
credentials.json
.
Tạo và đăng ký theo dõi một 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 của bạn đó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ý một chủ đề Pub/Sub:
Bảng điều khiển Google Cloud
Trong bảng điều khiển Google Cloud, 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 Đám mây cho ứng dụng của mình.
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
. - Giữ nguyên lựa 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 một bước sau.Cấp quyền đăng thông báo Pub/Sub cho chủ đề của bạn:
- Trên trang của 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 uỷ quyền.
- Trong trường Thêm các thực thể chính, hãy thêm tài khoản dịch vụ cho ứng dụng Google Workspace gửi các sự kiện đến gói thuê bao của bạn:
- Đối với các sự kiện trong Chat, hãy xem
chat-api-push@system.gserviceaccount.com
. - Bản dùng thử cho nhà phát triển:: Đối với các sự kiện trên Drive, hãy dùng
drive-api-event-push@system.gserviceaccount.com
. - Đối với sự kiện trên Meet, hãy
meet-api-event-push@system.gserviceaccount.com
.
- Đối với các sự kiện trong Chat, hãy xem
- Trong trình đơn Chỉ định vai trò, hãy chọn
Pub/Sub Publisher
. - Nhấp vào Lưu. Có thể mất vài phút để cập nhật quyền cho chủ đề của bạn.
gcloud
Trong dự án trên đám mây, 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 đầy đủ của chủ đề, được định dạng là
projects/PROJECT_ID/topics/TOPIC_ID
. Ghi lại tên và đảm bảo giá trị cho PROJECT_ID là mã dự án Cloud cho ứng dụng của bạn. Bạn 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 xuất bản thông báo 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 đầy đủ của chủ đề, là đầu ra từ bước trước. Được định dạng dưới dạngprojects/PROJECT_ID/topics/TOPIC_ID
.GOOGLE_WORKSPACE_APPLICATION
: Ứng dụng Google Workspace phải gửi các sự kiện đến gói thuê bao của bạn:- Để nhận các sự kiện từ Chat, hãy sử dụng
chat-api-push@system.gserviceaccount.com
. - Bản dùng thử cho nhà phát triển:: Để nhận các sự kiện từ Drive, hãy sử dụng
drive-api-event-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 các sự kiện từ Chat, hãy sử dụng
Quá trình cập nhật quyền cho chủ đề 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 của gói thuê bao, chẳng hạn nhưworkspace-events-subscription
.TOPIC_NAME
: Tên của chủ đề mà bạn đã tạo ở bước trước.
Đăng ký nhận thông tin về một tài nguyên của Google Workspace
Trong phần này, bạn sẽ đă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 đích là tài nguyên Google Workspace mà bạn giám sát các sự kiện. Tài nguyên đích đượ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 tham khảo 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 đích đến | Đị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 cho lượt đăng ký 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 |
|
Đăng ký này chỉ nhận 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 Workspace hoặc Tài khoản Google 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 |
Gói thuê bao chỉ nhận các sự kiện về người dùng đã uỷ quyền cho gói thuê bao đó. Người dùng không thể uỷ quyền đăng ký thay cho người dùng khác. |
Xác định tài nguyên đích cho Drive
Tài nguyên đích đến | Định dạng | Các điểm hạn chế (nếu có) |
---|---|---|
Tệp | //googleapis.com/drive/v3/files/FILE
trong đó FILE là mã nhận dạng trong
tên tài nguyên của tài nguyên |
Người dùng uỷ quyền cho gói thuê bao phải có quyền đối với tệp trong gói thuê bao so với sự kiện đăng ký. |
Bộ nhớ dùng chung | //googleapis.com/drive/v3/drives/DRIVE
trong đó DRIVE là mã nhận dạng trong
tên tài nguyên của tài nguyên |
Dịch vụ đăng ký chỉ nhận các sự kiện cho những mục trong ổ đĩa dùng chung mà người dùng là thành viên thông qua Tài khoản Google Workspace hoặc Tài khoản Google của họ. |
Xác định tài nguyên mục tiêu cho Meet
Tài nguyên đích đến | Định dạng | Các điểm hạn chế (nếu có) |
---|---|---|
Không gian hội 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
|
Đăng ký nhận các sự kiện về không gian họp nơi người dùng là một trong những đối tượng sau:
|
Tạo gói thuê bao Google Workspace
Để tạo một lượt đăng ký, bạn sử dụng phương thức subscriptions.create
của Google Workspace Events API để tạo một 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ề những tin nhắn mới được đăng lên một không gian Chat, thì ứng dụng đó chỉ cần đăng ký nhận các sự kiện về tin nhắn đã tạo.notificationEndpoint
: Một điểm cuối thông báo nơi gói thuê bao Google Workspace của bạn gửi các sự kiện. Bạn sử dụng chủ đề Pub/Sub mà bạn đã tạo trong phần trước.payloadOptions
: Các lựa 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 bài viết 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 có tên là
createSubscription
rồi 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ý nhận thông báo, được định dạng dưới dạng tên tài nguyên đầy đủ. Ví dụ: để đăng ký theo dõi một phòng Google Chat có mã nhận dạng phòng làAAAABBBB
, hãy 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 đích. Đị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 dưới dạngprojects/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 những 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ỉ những lượt đăng ký tài nguyên Chat mới hỗ trợ việc đưa dữ liệu tài nguyên vào.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 của bạn.
Python
Trong thư mục làm việc, hãy tạo một tệp có tên là
create_subscription.py
rồi thêm đoạn 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('credentials.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ý nhận thông báo, được định dạng dưới dạng tên tài nguyên đầy đủ. Ví dụ: để đăng ký theo dõi một phòng Google Chat có mã nhận dạng phòng làAAAABBBB
, hãy 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 đích. Đị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 dưới dạngprojects/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 những 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ỉ những lượt đăng ký tài nguyên Chat mới hỗ trợ việc đưa dữ liệu tài nguyên vào.False
: Loại trừ dữ liệu tài nguyên.
Để tạo gói thuê bao Google Workspace, hãy chạy lệnh sau trong thiết bị đầu cuối:
python3 create_subscription.py
Google Workspace Events API trả về một thao tác kéo dài đã hoàn tất. Thao tác này chứa phiên bản của tài nguyên Subscription
mà bạn đã tạo.
Dùng thử gói thuê bao Google Workspace
Để kiểm thử xem bạn có nhận được các sự kiện Google Workspace hay không, bạn có thể kích hoạt một sự kiện và kéo tin nhắn đế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 một tin nhắn vào phòng đó.
Trong bảng điều khiển Google Cloud, hãy chuyển đến trang Pub/Sub:
Đảm bảo bạn đã chọn dự án trên Đám mây cho ứng dụng của mình.
Trong trình đơn Pub/Sub, hãy nhấp vào Subscriptions (Gói thuê bao).
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 vài phút thì một sự kiện mới 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 một 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/PROJECT_ID/subscriptions/SUBSCRIPTION_ID
.MESSAGE_COUNT
: Số lượng tối đa tin nhắn Pub/Sub mà bạn muốn kéo.
Có thể mất vài phút để một sự kiện tạo ra 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 của bạn có 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 của Google Cloud Pub/Sub.
Định cấu hình cách ứng dụng của bạn nhận các sự kiện
Gói thuê bao Pub/Sub mà bạn tạo là gói dựa trên thao tá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 các sự kiện trực tiếp đến một điểm cuối của ứng dụng.
Để tìm hiểu về cách định cấu hình gói thuê bao Pub/Sub, hãy xem tài liệu về Pub/Sub.