Liệt kê các gói thuê bao của Google Workspace
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Trang này giải thích cách liệt kê các gói thuê bao Google Workspace bằng phương thức subscriptions.list()
.
Khi bạn gọi phương thức này bằng quy trình xác thực người dùng, phương thức này sẽ trả về danh sách các gói thuê bao do người dùng uỷ quyền. Khi bạn sử dụng tính năng xác thực ứng dụng, phương thức này có thể trả về một danh sách chứa mọi gói thuê bao của ứng dụng.
Điều kiện tiên quyết
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
- Gói thuê bao Google Workspace. Để tạo một gói thuê bao, hãy xem phần Tạo gói thuê bao.
Yêu cầu xác thực:
- Đối với hoạt động xác thực người dùng, cần có một 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 một phạm vi, hãy xem phần Phạm vi theo loại sự kiện.
- Đối với xác thực ứng dụng, yêu cầu phạm vi
chat.bot
(chỉ dành cho ứng dụng Google Chat).
Liệt kê các gói thuê bao mà người dùng cho phép
Để liệt kê các lượt đăng ký, bạn phải lọc theo ít nhất một loại sự kiện. Bạn cũng có thể lọc truy vấn theo một hoặc nhiều tài nguyên mục tiêu. Để tìm hiểu về các bộ lọc truy vấn được hỗ trợ, hãy xem tài liệu về phương thức list()
.
Mẫu mã sau đây trả về một mảng các đối tượng Subscription
được lọc theo loại sự kiện và tài nguyên đích. Khi được xác thực với tư cách là người dùng, phương thức này chỉ trả về danh sách những gói thuê bao mà người dùng đã cho phép ứng dụng tạo.
Cách liệt kê các lượt đăng ký cho một loại sự kiện và tài nguyên đích được chỉ định:
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à listSubscriptions
rồi thêm mã sau:
function listSubscriptions() {
// Filter for event type (required).
const eventType = 'EVENT_TYPE';
// Filter for target resource (optional).
const targetResource = 'TARGET_RESOURCE';
const filter = `event_types:"${eventType}" AND target_resource="${targetResource}"`
// Call the Workspace Events API using the advanced service.
const response = WorkspaceEvents.Subscriptions.list({ filter });
console.log(response);
}
Thay thế nội dung sau:
EVENT_TYPE
: Một loại sự kiện được định dạng theo quy cách CloudEvents. Ví dụ: để lọc các gói thuê bao nhận được sự kiện về thành viên mới vào một không gian trên Google Chat, google.workspace.chat.message.v1.created
.
TARGET_RESOURCE
: Một tài nguyên đích, được định dạng dưới dạng tên tài nguyên đầy đủ. Ví dụ: để lọc theo lượt đăng ký cho một không gian trên Google Chat, hãy sử dụng //chat.googleapis.com/spaces/SPACE_ID
trong đó spaces/SPACE_ID
đại diện cho trường name
cho tài nguyên Space
.
Để liệt kê các lượt đăng ký, hãy chạy hàm listSubscriptions
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à list_subscriptions.py
rồi thêm đoạn mã sau:
"""List subscriptions."""
from google_auth_oauthlib.flow import InstalledAppFlow
from googleapiclient.discovery import build
# Specify required scopes.
SCOPES = ['SCOPE']
# 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,
)
# Filter for event type (required).
EVENT_TYPE = 'EVENT_TYPE'
# Filter for target resource (optional).
TARGET_RESOURCE = 'TARGET_RESOURCE'
FILTER = f'event_types:"{EVENT_TYPE}" AND target_resource="{TARGET_RESOURCE}"'
response = service.subscriptions().list(filter=FILTER).execute()
print(response)
Thay thế nội dung sau:
SCOPE
: Một phạm vi OAuth hỗ trợ ít nhất một loại sự kiện trong gói thuê bao. Ví dụ: nếu gói thuê bao của bạn nhận được các sự kiện là không gian Chat mới cập nhật, https://www.googleapis.com/auth/chat.spaces.readonly
.
EVENT_TYPE
: Một loại sự kiện được định dạng theo quy cách CloudEvents. Ví dụ: để lọc các gói thuê bao nhận được sự kiện về thành viên mới vào một không gian trên Google Chat, google.workspace.chat.message.v1.created
.
TARGET_RESOURCE
: Một tài nguyên đích, được định dạng dưới dạng tên tài nguyên đầy đủ. Ví dụ: để lọc theo lượt đăng ký cho một không gian trên Google Chat, hãy sử dụng //chat.googleapis.com/spaces/SPACE_ID
trong đó spaces/SPACE_ID
đại diện cho trường name
cho tài nguyên Space
.
Trong thư mục làm việc, hãy đảm bảo bạn đã lưu trữ thông tin đăng nhập 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 đăng nhập của người dùng. Để biết hướng dẫn, hãy xem phần Tạo thông tin đăng nhập mã ứng dụng khách OAuth.
Để liệt kê các gói thuê bao, hãy chạy lệnh sau trong thiết bị đầu cuối:
python3 list_subscriptions.py
Google Workspace Events API trả về một mảng được phân trang gồm các Subscription
đối tượng khớp với bộ lọc cho truy vấn của bạn.
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-08-26 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-08-26 UTC."],[[["\u003cp\u003eThis page provides instructions on how to list Google Workspace subscriptions using the \u003ccode\u003esubscriptions.list()\u003c/code\u003e method.\u003c/p\u003e\n"],["\u003cp\u003eThe method returns a list of authorized subscriptions when using user authentication and may return any app subscription when using app authentication.\u003c/p\u003e\n"],["\u003cp\u003eCode samples are provided for both Apps Script and Python to demonstrate listing subscriptions based on event type and target resource.\u003c/p\u003e\n"],["\u003cp\u003ePrerequisites include having a Google Workspace subscription, proper authentication and setup for the chosen scripting language.\u003c/p\u003e\n"],["\u003cp\u003eThe response is a paginated array of \u003ccode\u003eSubscription\u003c/code\u003e objects matching the query filter.\u003c/p\u003e\n"]]],["The `subscriptions.list()` method retrieves Google Workspace subscriptions, returning user-authorized subscriptions with user authentication or any app subscriptions with app authentication. Listing subscriptions requires filtering by event type and optionally by target resource. Apps Script and Python examples detail this process: defining event type and target resource filters, setting OAuth scopes, and running the code to retrieve and print a filtered array of `Subscription` objects using the Workspace Events API. User or app authentication is required.\n"],null,["# List Google Workspace subscriptions\n\nThis page explains how to list Google Workspace subscriptions using the\n[`subscriptions.list()`](/workspace/events/reference/rest/v1/subscriptions/list)\nmethod.\n\nWhen you call this method with user authentication, the method returns\na list of subscriptions authorized by the user. When you use app authentication,\nthe method can return a list that contains any subscription for the app.\n\nPrerequisites\n-------------\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 [authentication](/workspace/events/guides/auth):\n\n - For user authentication, requires a scope that supports at least one of the event types for the subscription. To identify a scope, see [Scopes by event type](/workspace/events/guides/auth#scopes-event-type). **Note:** To run the code sample in this guide, you must use the same [OAuth\n | client ID credentials](/workspace/events/guides/create-subscription#create-oauth) that you used to create the subscription.\n - For app authentication, requires the `chat.bot` scope (Google Chat apps only).\n\nList subscriptions authorized by a user\n---------------------------------------\n\nTo list subscriptions, you must filter by at least one event type. You can also\nfilter your query by one or more target resources. To learn about supported\nquery filters, see the [`list()` method\ndocumentation](/workspace/events/reference/rest/v1/subscriptions/list).\n\nThe following code sample returns an array of\n[`Subscription`](/workspace/events/reference/rest/v1/subscriptions) objects\nfiltered by event type and target resource. When authenticated as a user, the\nmethod only returns a list of subscriptions that the user authorized the app to\ncreate.\n\nTo list subscriptions for a specified event type and target resource: \n\n### Apps Script\n\n1. In your Apps Script project, create a new script file\n named `listSubscriptions` and add the following code:\n\n function listSubscriptions() {\n // Filter for event type (required).\n const eventType = &\u003cvar translate=\"no\"\u003e#39;EVENT_\u003c/var\u003eTYPE';\n\n // Filter for target resource (optional).\n const targetReso\u003cvar translate=\"no\"\u003eurce\u003c/var\u003e = 'TARGET_RESOURCE';\n\n const filter = `event_types:\"${eventType}\" AND target_resource=\"${targetResource}\"`\n\n // Call the Workspace Events API using the advanced service.\n const response = WorkspaceEvents.Subscriptions.list({ filter });\n console.log(response);\n }\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eEVENT_TYPE\u003c/var\u003e: An [event type](/workspace/events/reference/rest/v1/subscriptions#Subscription.FIELDS.event_types) formatted according to the CloudEvents specification. For example, to filter for subscriptions that receive events about new memberships to a Google Chat space, `google.workspace.chat.message.v1.created`.\n - \u003cvar translate=\"no\"\u003eTARGET_RESOURCE\u003c/var\u003e: A [target resource](/workspace/events/reference/rest/v1/subscriptions#Subscription.FIELDS.target_resource), formatted as its full resource name. For example, to filter by subscriptions for a Google Chat space, use `//chat.googleapis.com/spaces/`\u003cvar translate=\"no\"\u003eSPACE_ID\u003c/var\u003e where `spaces/`\u003cvar translate=\"no\"\u003eSPACE_ID\u003c/var\u003e represents the [`name`](/workspace/chat/api/reference/rest/v1/spaces#Space.FIELDS.name) field for the `Space` resource.\n2. To list subscriptions, run the function `listSubscriptions` in\n your Apps Script project.\n\n### Python\n\n1. In your working directory, create a file named `list_subscriptions.py`\n and add the following code:\n\n \"\"\"List subscriptions.\"\"\"\n\n from google_auth_oauthlib.flow import InstalledAppFlow\n from googleapiclient.discovery import build\n\n # Specif\u003cvar translate=\"no\"\u003ey req\u003c/var\u003euired scopes.\n SCOPES = ['SCOPE']\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=CRED\u003cvar translate=\"no\"\u003eENTIALS\u003c/var\u003e,\n )\n\n # Filter for event type (required).\n EVENT_TYPE = 'EVENT_T\u003cvar translate=\"no\"\u003eYPE'\u003c/var\u003e\n\n # Filter for target resource (optional).\n TARGET_RESOURCE = 'TARGET_RESOURCE'\n\n FILTER = f'event_types:\"{EVENT_TYPE}\" AND target_resource=\"{TARGET_RESOURCE}\"'\n response = service.subscriptions().list(filter=FILTER).execute()\n print(response)\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eSCOPE\u003c/var\u003e: An OAuth scope that [supports at least\n one event type from the subscription](/workspace/events/guides/auth#scopes-event-type). For example, if your subscription receives events an updated Chat space, `https://www.googleapis.com/auth/chat.spaces.readonly`.\n - \u003cvar translate=\"no\"\u003eEVENT_TYPE\u003c/var\u003e: An [event type](/workspace/events/reference/rest/v1/subscriptions#Subscription.FIELDS.event_types) formatted according to the CloudEvents specification. For example, to filter for subscriptions that receive events about new memberships to a Google Chat space, `google.workspace.chat.message.v1.created`.\n - \u003cvar translate=\"no\"\u003eTARGET_RESOURCE\u003c/var\u003e: A [target resource](/workspace/events/reference/rest/v1/subscriptions#Subscription.FIELDS.target_resource), formatted as its full resource name. For example, to filter by subscriptions for a Google Chat space, use `//chat.googleapis.com/spaces/`\u003cvar translate=\"no\"\u003eSPACE_ID\u003c/var\u003e where `spaces/`\u003cvar translate=\"no\"\u003eSPACE_ID\u003c/var\u003e represents the [`name`](/workspace/chat/api/reference/rest/v1/spaces#Space.FIELDS.name) field for the `Space` resource.\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 list subscriptions, run the following in your terminal:\n\n python3 list_subscriptions.py\n\nThe Google Workspace Events API returns a [paginated array of `Subscription`\nobjects](/workspace/events/reference/rest/v1/subscriptions/list#response-body)\nthat match the filter for your query.\n\nRelated topics\n--------------\n\n- [Update or renew a subscription](/workspace/events/guides/update-subscription)\n- [Resolve errors and reactivate a subscription](/workspace/events/guides/reactivate-subscription)\n- [Delete a subscription](/workspace/events/guides/delete-subscription)\n- [Get a subscription](/workspace/events/guides/get-subscription)\n- [Create a subscription](/workspace/events/guides/create-subscription)"]]