Trang này giải thích cách gia hạn Gói thuê bao của Google Workspace bằng phương thức subscriptions.update(). Hãy sử dụng phương thức này để cập nhật thời gian hết hạn của gói thuê bao, bao gồm cả việc gia hạn gói thuê bao cho thời gian hết hạn tối đa có thể hoặc để cập nhật danh sách các loại sự kiện cần nhận về tài nguyên mục tiêu.
Apps Script
- Gói thuê bao của Google Workspace. Để tạo một gói thuê bao, hãy xem bài viết Tạo gói thuê bao.
- Dự án Apps Script:
- Sử dụng dự án trên đám mây của Google thay vì dự án mặc định do Apps Script tự động tạo.
- Đối với tất cả phạm vi mà bạn đã thêm để định cấu hình màn hình xin phép bằng OAuth, bạn cũng phải thêm các
phạm vi đó vào tệp
appsscript.jsontrong dự án Apps Script. Ví dụ: nếu bạn chỉ định phạm vichat.messages, hãy thêm nội dung sau: - Bật
dịch vụ nâng cao
Google Workspace Events.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
Yêu cầu xác thực và phạm vi uỷ quyền thích hợp cho từng loại sự kiện trong gói thuê bao:
- Đối với quy trình xác thực người dùng, yêu cầu một hoặc nhiều phạm vi hỗ trợ ít nhất một trong các loại sự kiện cho gói thuê bao. Để xác định phạm vi, hãy xem bài viết Phạm vi theo loại sự kiện.
- Để đăng ký sự kiện Chat dưới dạng ứng dụng Chat, bạn cần xác thực ứng dụng và quản trị viên phê duyệt một lần.
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 thư viện 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
- Gói thuê bao của Google Workspace. Để tạo một gói thuê bao, hãy xem bài viết Tạo gói thuê bao.
Yêu cầu xác thực và phạm vi uỷ quyền thích hợp cho từng loại sự kiện trong gói thuê bao:
- Đối với quy trình xác thực người dùng, yêu cầu một hoặc nhiều phạm vi hỗ trợ ít nhất một trong các loại sự kiện cho gói thuê bao. Để xác định phạm vi, hãy xem bài viết Phạm vi theo loại sự kiện.
- Để đăng ký sự kiện Chat dưới dạng ứng dụng Chat, bạn cần xác thực ứng dụng và quản trị viên phê duyệt một lần.
Gia hạn gói thuê bao của Google Workspace
Trong phần này, hãy sử dụng phương thức subscriptions.update() của API Sự kiện Google Workspace để gia hạn gói thuê bao cho thời gian hết hạn tối đa. Để chỉ định thời gian hết hạn tối đa, hãy cập nhật ttl
trường của
Subscription tài nguyên
thành 0.
Thời gian hết hạn tối đa phụ thuộc vào dữ liệu tài nguyên được đưa vào tải trọng sự kiện. Để tìm hiểu thêm về thời gian hết hạn, hãy xem Dữ liệu sự kiện cho các sự kiện Google Workspace.
Cách gia hạn gói thuê bao của 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à
updateSubscriptionrồi thêm mã sau:function updateSubscription() { // The name of the subscription to update. const name = 'subscriptions/SUBSCRIPTION_ID'; // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.patch({ ttl: '0s', }, name); console.log(response); }Thay thế nội dung sau:
Để cập nhật gói thuê bao của Google Workspace, hãy chạy hàm
updateSubscriptiontrong dự án Apps Script.
Python
Trong thư mục làm việc, hãy tạo một tệp có tên là
update_subscription.pyrồi thêm mã sau:"""Update 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() # Call the Workspace Events API using the service endpoint. service = build( 'workspaceevents', 'v1', credentials=CREDENTIALS, ) BODY = { 'ttl': {'seconds': 0}, } NAME = 'subscriptions/SUBSCRIPTION_ID' response = ( service.subscriptions() .patch(name=NAME, updateMask='ttl', 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'.SUBSCRIPTION_ID: Mã của gói thuê bao. Để lấy mã, bạn có thể sử dụng bất kỳ cách nào sau đây:
Trong thư mục làm việc, hãy nhớ lưu trữ thông tin xác thực mã ứng dụng OAuth và đặt tên cho tệp là
credentials.json. Mã mẫu sử dụng tệp JSON này để xác thực với Google Workspace và lấy thông tin xác thực người dùng. Để biết hướng dẫn, hãy xem Tạo thông tin xác thực mã ứng dụng khách OAuth .Để cập nhật gói thuê bao của Google Workspace, hãy chạy lệnh sau trong thiết bị đầu cuối:
python3 update_subscription.py
Subscription.
Để biết thông tin chi tiết về tài nguyên Subscription đã cập nhật, hãy sử dụng phương thức
operations.get() và chỉ định tài nguyên Operation được trả về từ yêu cầu subscriptions.update(). Nếu không, nếu bạn chỉ định tài nguyên Operation từ phiên bản trước của gói thuê bao, thì phản hồi sẽ trống.
Cập nhật hoặc gia hạn gói thuê bao dưới dạng ứng dụng Google Chat
Bạn có thể cập nhật hoặc gia hạn gói thuê bao cho các sự kiện Chat dưới dạng ứng dụng Chat thay vì dưới dạng người dùng. Quy trình này tương tự, ngoại trừ:
Thay vì xác thực người dùng, hãy xác thực dưới dạng ứng dụng Chat bằng cách quản trị viên phê duyệt một lần.
Chỉ định các phạm vi uỷ quyền cho phép ứng dụng Chat đăng ký các sự kiện Chat. Các phạm vi uỷ quyền này luôn bắt đầu bằng
chat.appvà bao gồm những phạm vi sau:https://www.googleapis.com/auth/chat.app.memberships: Đăng ký các sự kiện thành viên phòng Chat.https://www.googleapis.com/auth/chat.app.memberships.readonly: Đăng ký các sự kiện thành viên phòng Chat.https://www.googleapis.com/auth/chat.app.messages.readonly: Đăng ký các sự kiện tin nhắn phòng Chat.https://www.googleapis.com/auth/chat.app.spaces: Đăng ký các sự kiện phòng Chat.https://www.googleapis.com/auth/chat.app.spaces.readonly: Đăng ký các sự kiện phòng Chat.
Viết tập lệnh gọi API Sự kiện Google Workspace
Mã mẫu sau đây cập nhật Gói thuê bao của Google Workspace của ứng dụng Chat:
Python
"""Update subscription."""
from google.oauth2 import service_account
from apiclient.discovery import build
# Specify required scopes.
SCOPES = [SCOPES]
# Specify service account details.
CREDENTIALS = (
service_account.Credentials.from_service_account_file('credentials.json')
.with_scopes(SCOPES)
)
# Call the Workspace Events API using the service endpoint.
service = build(
'workspaceevents',
'v1beta',
credentials=CREDENTIALS,
)
BODY = {
'ttl': {'seconds': 0},
}
NAME = 'subscriptions/SUBSCRIPTION_ID'
response = (
service.subscriptions()
.patch(name=NAME, updateMask='ttl', body=BODY)
.execute()
)
print(response)
Thay thế nội dung sau:
SCOPES: Chỉ định các phạm vi uỷ quyền cho phép ứng dụng Chat đăng ký các sự kiện Chat. Các phạm vi uỷ quyền này luôn bắt đầu bằngchat.appvà bao gồm những phạm vi sau:https://www.googleapis.com/auth/chat.app.memberships: Đăng ký các sự kiện thành viên phòng Chat.https://www.googleapis.com/auth/chat.app.memberships.readonly: Đăng ký các sự kiện thành viên phòng Chat.https://www.googleapis.com/auth/chat.app.messages.readonly: Đăng ký các sự kiện tin nhắn và lượt thể hiện cảm xúc trong phòng Chat.https://www.googleapis.com/auth/chat.app.spaces: Đăng ký các sự kiện phòng Chat.https://www.googleapis.com/auth/chat.app.spaces.readonly: Đăng ký các sự kiện phòng Chat.
SUBSCRIPTION_ID: Mã của gói thuê bao. Để lấy mã, bạn có thể sử dụng bất kỳ cách nào sau đây: