本頁說明如何使用 subscriptions.update()
方法續訂 Google Workspace 訂閱方案。您可以使用這個方法更新訂閱項目的到期時間,包括續訂訂閱項目以延長到期時間,或是更新要接收的目標資源事件類型清單。
Apps Script
- 訂閱 Google Workspace。如要建立訂閱項目,請參閱「建立訂閱項目」。
需要使用者驗證,且具備一或多個可支援訂閱項目所有事件類型的範圍。
- Apps Script 專案:
- 請使用 Google Cloud 專案,而非由 Apps Script 自動建立的預設專案。
- 對於您新增用於設定 OAuth 同意畫面的任何範圍,您也必須將範圍新增至 Apps Script 專案中的
appsscript.json
檔案。例如: - 啟用
Google Workspace Events
進階服務。
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
Python
- Python 3.6 以上版本
- pip 套件管理工具
- 最新的 Python 適用 Google 用戶端程式庫。如要安裝或更新這些項目,請在指令列介面中執行下列指令:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- 訂閱 Google Workspace。如要建立訂閱項目,請參閱「建立訂閱項目」。
需要使用者驗證,且具備一或多個可支援訂閱項目所有事件類型的範圍。
續訂 Google Workspace 訂閱方案
在本節中,您將使用 Google Workspace Events API 的 subscriptions.update()
方法,將訂閱項目續約至其最長的到期時間。如要指定到期時間上限,請將 Subscription
資源的 ttl
欄位更新為 0
。
最大到期時間取決於事件酬載中包含的資源資料。如要進一步瞭解到期時間,請參閱「Google Workspace 事件的事件資料」。
如要續訂 Google Workspace 訂閱方案,請按照下列步驟操作:
Apps Script
在 Apps 指令碼專案中,建立名為
updateSubscription
的新指令碼檔案,然後加入下列程式碼: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); }
更改下列內容:
如要更新 Google Workspace 訂閱項目,請在 Apps Script 專案中執行
updateSubscription
函式。
Python
在工作目錄中建立名為
update_subscription.py
的檔案,並新增下列程式碼:"""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('client_secrets.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)
更改下列內容:
SCOPES
:一或多個支援訂閱項目各個事件類型的 OAuth 範圍。格式為字串陣列。如要列出多個範圍,請以半形逗號分隔。例如:'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'
。SUBSCRIPTION_ID
:訂閱項目 ID。如要取得 ID,您可以使用下列任一方法:
請確認您已在工作目錄中儲存 OAuth 用戶端 ID 憑證,並將檔案命名為
client_secrets.json
。程式碼範例會使用這個 JSON 檔案,透過 Google Workspace 進行驗證並取得使用者憑證。如需操作說明,請參閱「建立 OAuth 用戶端 ID 憑證」。如要更新 Google Workspace 訂閱方案,請在終端機中執行下列指令:
python3 update_subscription.py
Subscription
資源的例項。如要取得更新後 Subscription
資源的詳細資料,請使用 operations.get()
方法,並指定 subscriptions.update()
要求傳回的 Operation
資源。否則,如果您指定的是舊版訂閱項目的 Operation
資源,回應會是空白。