更新或续订 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 脚本
在您的 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);
}
替换以下内容:
SUBSCRIPTION_ID
:订阅的 ID。如需获取 ID,您可以使用以下任一方法:
-
uid
字段的值。
- 资源名称的 ID,以
name
字段表示。例如,如果资源名称为 subscriptions/subscription-123
,请使用 subscription-123
。
如需更新 Google Workspace 订阅,请在您的 Apps 脚本项目中运行函数 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
字段的值。
- 资源名称的 ID,以
name
字段表示。例如,如果资源名称为 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
资源,则响应为空。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-21。
[null,null,["最后更新时间 (UTC):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)"]]