更新或續訂 Google Workspace 訂閱方案
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
本頁說明如何使用 subscriptions.update()
方法續訂 Google Workspace 方案。您可以使用這個方法更新訂閱項目的到期時間,包括將訂閱項目續訂至最長到期時間,或是更新要接收目標資源相關事件的事件類型清單。
Python
- Python 3.6 以上版本
- pip 套件管理工具
- 最新版 Python 適用的 Google 用戶端程式庫。如要安裝或更新這些工具,請在指令列介面中執行下列指令:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
續訂 Google Workspace 方案
在本節中,您將使用 Google Workspace Events API 的 subscriptions.update()
方法,將訂閱項目續訂至最長到期時間。如要指定最長到期時間,請將 Subscription
資源的 ttl
欄位更新為 0
。
最長到期時間取決於事件酬載中包含的資源資料。如要進一步瞭解到期時間,請參閱「Google Workspace 事件的事件資料」。
如要續訂 Google Workspace 方案,請按照下列步驟操作:
Apps Script
在 Apps Script 專案中,建立名為 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);
}
更改下列內容:
SUBSCRIPTION_ID
:訂閱 ID。如要取得 ID,可以使用下列任一方法:
-
uid
欄位的值。
-
name
欄位中代表的資源名稱 ID。舉例來說,如果資源名稱是 subscriptions/subscription-123
,請使用 subscription-123
。
如要更新 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('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)
更改下列內容:
SCOPES
:支援訂閱項目中各事件類型的 OAuth 範圍。格式為字串陣列。如要列出多個範圍,請以半形逗號分隔。
例如:'https://www.googleapis.com/auth/chat.spaces.readonly',
'https://www.googleapis.com/auth/chat.memberships.readonly'
。
SUBSCRIPTION_ID
:訂閱 ID。如要取得 ID,可以使用下列任一方法:
-
uid
欄位的值。
-
name
欄位中代表的資源名稱 ID。舉例來說,如果資源名稱是 subscriptions/subscription-123
,請使用 subscription-123
。
請確認工作目錄中已儲存 OAuth 用戶端 ID 憑證,且檔案名為 credentials.json
。程式碼範例會使用這個 JSON 檔案向 Google Workspace 進行驗證,並取得使用者憑證。如需操作說明,請參閱「建立 OAuth 用戶端 ID 憑證」。
如要更新 Google Workspace 訂閱方案,請在終端機中執行下列指令:
python3 update_subscription.py
Google Workspace Events API 會傳回
長時間執行的作業,其中包含
Subscription
資源的執行個體。
如要取得更新後 Subscription
資源的詳細資料,請使用 operations.get()
方法,並指定從 subscriptions.update()
要求傳回的 Operation
資源。否則,如果您指定先前訂閱方案版本的 Operation
資源,回應會是空白。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-08-21 (世界標準時間)。
[null,null,["上次更新時間:2025-08-21 (世界標準時間)。"],[[["\u003cp\u003eThis page provides instructions on renewing a Google Workspace subscription to its maximum expiration time using the \u003ccode\u003esubscriptions.update()\u003c/code\u003e method.\u003c/p\u003e\n"],["\u003cp\u003eYou can also use the \u003ccode\u003esubscriptions.update()\u003c/code\u003e method to update the list of event types to receive or to update the expiration time of a subscription.\u003c/p\u003e\n"],["\u003cp\u003eCode samples are provided in Apps Script and Python demonstrating how to renew a subscription.\u003c/p\u003e\n"],["\u003cp\u003eBefore renewing, you'll need an existing Google Workspace subscription, appropriate user authentication, and necessary tools like an Apps Script project or Python environment.\u003c/p\u003e\n"]]],["The core function described is renewing a Google Workspace subscription using the `subscriptions.update()` method. This involves updating the `ttl` field of the subscription resource to `0` to set the maximum expiration time. The process requires authentication with specific scopes and OAuth client ID credentials. Code examples are provided for Apps Script and Python, detailing how to execute the update, and how to retrieve the updated subscription resource via `operations.get()`. It also mentions that the update can include changes to event types.\n"],null,["# Update or renew a Google Workspace subscription\n\nThis page explains how to renew a Google Workspace subscription using the\n[`subscriptions.update()`](/workspace/events/reference/rest/v1/subscriptions/patch)\nmethod. You can use this method to update the expiration time of a subscription,\nincluding renewing the subscription for the maximum expiration time possible, or\nto update the list of event types to receive about the target resource. \n\n### Apps Script\n\n- \u003cbr /\u003e\n\n A Google Workspace subscription. To create one, see [Create a subscription](/workspace/events/guides/create-subscription).\n\n \u003cbr /\u003e\n\n- Requires user authentication with one or more\n [scopes that support all event types for\n the subscription](/workspace/events/guides/auth#scopes-event-type).\n\n | **Note:** To run the code sample in this guide, you must use the same [OAuth client\n | ID credentials](/workspace/events/guides/create-subscription#create-oauth) that you used to create the subscription.\n\n\u003c!-- --\u003e\n\n- An Apps Script project:\n - Use your Google Cloud project instead of the default one created automatically by Apps Script.\n - For all scopes that you added to configure the OAuth consent screen, you must also add the scopes to the `appsscript.json` file in your Apps Script project. For example, if you specified the `chat.messages` scope, then add the following: \n\n ```console\n \"oauthScopes\": [\n \"https://www.googleapis.com/auth/chat.messages\"\n ]\n \n ```\n - [Enable](/apps-script/guides/services/advanced#enable_advanced_services) the `Google Workspace Events` advanced service.\n\n### Python\n\n- Python 3.6 or greater\n- The [pip](https://pypi.org/project/pip/) package management tool\n- The latest Google client libraries for Python. To install or update them, run the following command in your command-line interface: \n\n ```console\n pip3 install --upgrade google-api-python-client google-auth-oauthlib\n \n ```\n\n\u003c!-- --\u003e\n\n- \u003cbr /\u003e\n\n A Google Workspace subscription. To create one, see [Create a subscription](/workspace/events/guides/create-subscription).\n\n \u003cbr /\u003e\n\n- Requires user authentication with one or more\n [scopes that support all event types for\n the subscription](/workspace/events/guides/auth#scopes-event-type).\n\n | **Note:** To run the code sample in this guide, you must use the same [OAuth client\n | ID credentials](/workspace/events/guides/create-subscription#create-oauth) that you used to create the subscription.\n\nRenew a Google Workspace subscription\n-------------------------------------\n\nIn this section, you use the Google Workspace Events API's\n`subscriptions.update()` method to renew a subscription to its maximum\nexpiration time. To specify the maximum expiration time, you update the `ttl`\nfield of the\n[`Subscription`](/workspace/events/reference/rest/v1/subscriptions) resource\nto `0`.\n\nThe maximum expiration time depends on what resource data is included in the\nevent payload. To learn more about expiration times, see [Event data for\nGoogle Workspace events](/workspace/events/guides#data).\n\nTo renew a Google Workspace subscription: \n\n### Apps Script\n\n1. In your Apps Script project, create a new script file\n named `updateSubscription` and add the following code:\n\n function updateSubscription() {\n // The name of the subscription to update.\n const name = 'subscriptions/\u003cvar translate=\"no\"\u003eSUBSCRIPTION_ID\u003c/var\u003e';\n\n // Call the Workspace Events API using the advanced service.\n const response = WorkspaceEvents.Subscriptions.patch({\n ttl: '0s',\n }, name);\n console.log(response);\n }\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eSUBSCRIPTION_ID\u003c/var\u003e: The ID of the subscription. To get the ID, you can use any of the following:\n - The value of the [`uid`](/workspace/events/reference/rest/v1/subscriptions#Subscription.FIELDS.uid) field.\n - The ID of the resource name represented in the [`name`](/workspace/events/reference/rest/v1/subscriptions#Subscription.FIELDS.name) field. For example, if the resource name is `subscriptions/subscription-123`, use `subscription-123`.\n2. To update the Google Workspace subscription, run the function\n `updateSubscription` in your Apps Script project.\n\n### Python\n\n1. In your working directory, create a file named `update_subscription.py`\n and add the following code:\n\n \"\"\"Update subscription.\"\"\"\n\n from google_auth_oauthlib.flow import InstalledAppFlow\n from googleapiclient.discovery import build\n\n # Specify required scopes.\n SCOPES = [\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003eSCOPES\u003c/span\u003e\u003c/var\u003e]\n\n # Authenticate with Google Workspace and get user authentication.\n flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES)\n CREDENTIALS = flow.run_local_server()\n\n # Call the Workspace Events API using the service endpoint.\n service = build(\n 'workspaceevents',\n 'v1',\n credentials=CREDENTIALS,\n )\n\n BODY = {\n 'ttl': {'seconds': 0},\n }\n NAME = 'subscriptions/\u003cvar translate=\"no\"\u003eSUBSCRIPTION_ID\u003c/var\u003e'\n response = (\n service.subscriptions()\n .patch(name=NAME, updateMask='ttl', body=BODY)\n .execute()\n )\n print(response)\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eSCOPES\u003c/var\u003e: One or more [OAuth scopes](/workspace/events/guides/auth) that support each event type for the subscription. Formatted as an array of strings. To list multiple scopes, separate by commas. For example, `'https://www.googleapis.com/auth/chat.spaces.readonly',\n 'https://www.googleapis.com/auth/chat.memberships.readonly'`.\n - \u003cvar translate=\"no\"\u003eSUBSCRIPTION_ID\u003c/var\u003e: The ID of the subscription. To get the ID, you can use any of the following:\n - The value of the [`uid`](/workspace/events/reference/rest/v1/subscriptions#Subscription.FIELDS.uid) field.\n - The ID of the resource name represented in the [`name`](/workspace/events/reference/rest/v1/subscriptions#Subscription.FIELDS.name) field. For example, if the resource name is `subscriptions/subscription-123`, use `subscription-123`.\n2. In your working directory, make sure you've stored your OAuth client ID\n credentials and named the file `credentials.json`. The code sample uses this JSON\n file to authenticate with Google Workspace and get user credentials. For instructions,\n see [Create OAuth client ID\n credentials](/workspace/events/guides/create-subscription#create-oauth).\n\n3. To update the Google Workspace subscription, run the following in\n your terminal:\n\n python3 update_subscription.py\n\nThe Google Workspace Events API returns a [long-running operation](/workspace/events/reference/rest/v1/operations) that contains the instance of the `Subscription` resource.\n\nTo get details about the updated `Subscription` resource, use the\n[`operations.get()`](/workspace/events/reference/rest/v1/operations/get) method\nand specify the `Operation` resource returned from your `subscriptions.update()`\nrequest. Otherwise, if you specify a `Operation` resource from a previous\nversion of the subscription, the response is empty.\n\nRelated topics\n--------------\n\n- [Get a subscription](/workspace/events/guides/get-subscription)\n- [List subscriptions](/workspace/events/guides/list-subscriptions)\n- [Create a subscription](/workspace/events/guides/create-subscription)\n- [Resolve errors and reactivate a subscription](/workspace/events/guides/reactivate-subscription)\n- [Delete a subscription](/workspace/events/guides/delete-subscription)"]]