Google Workspace 구독 나열
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
이 페이지에서는 subscriptions.list()
메서드를 사용하여 Google Workspace 구독을 나열하는 방법을 설명합니다.
사용자 인증과 함께 이 메서드를 호출하면 메서드는 사용자가 승인한 정기 결제 목록을 반환합니다. 앱 인증을 사용하면 메서드가 앱의 정기 결제가 포함된 목록을 반환할 수 있습니다.
기본 요건
Python
- Python 3.6 이상
- pip 패키지 관리 도구
- 최신 Python용 Google 클라이언트 라이브러리 이를 설치하거나 업데이트하려면 명령줄 인터페이스에서 다음 명령어를 실행하세요.
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Google Workspace 구독 정기 결제를 만들려면 정기 결제 만들기를 참고하세요.
인증 필요:
- 사용자 인증의 경우 구독의 이벤트 유형을 하나 이상 지원하는 범위가 필요합니다. 범위를 확인하려면 이벤트 유형별 범위를 참고하세요.
- 앱 인증의 경우
chat.bot
범위가 필요합니다 (Google Chat 앱만 해당).
사용자가 승인한 구독 목록
정기 결제를 나열하려면 하나 이상의 이벤트 유형으로 필터링해야 합니다. 하나 이상의 타겟 리소스로 쿼리를 필터링할 수도 있습니다. 지원되는 쿼리 필터에 대해 알아보려면 list()
메서드 문서를 참고하세요.
다음 코드 샘플은 이벤트 유형과 타겟 리소스로 필터링된 Subscription
객체의 배열을 반환합니다. 사용자로 인증되면 이 메서드는 사용자가 앱에 만들 권한을 부여한 정기 결제 목록만 반환합니다.
지정된 이벤트 유형 및 타겟 리소스의 구독을 나열하려면 다음을 실행하세요.
Apps Script
Apps Script 프로젝트에서 listSubscriptions
라는 새 스크립트 파일을 만들고 다음 코드를 추가합니다.
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);
}
다음을 바꿉니다.
EVENT_TYPE
: CloudEvents 사양에 따라 형식이 지정된 이벤트 유형입니다. 예를 들어 Google Chat 스페이스의 새 멤버십에 관한 이벤트를 수신하는 구독을 필터링하려면 google.workspace.chat.message.v1.created
를 사용합니다.
TARGET_RESOURCE
: 타겟 리소스이며 전체 리소스 이름으로 형식이 지정됩니다. 예를 들어 Google Chat 스페이스의 구독을 기준으로 필터링하려면 //chat.googleapis.com/spaces/SPACE_ID
를 사용하세요. 여기서 spaces/SPACE_ID
는 Space
리소스의 name
필드를 나타냅니다.
구독을 나열하려면 Apps Script 프로젝트에서 listSubscriptions
함수를 실행합니다.
Python
작업 디렉터리에서 list_subscriptions.py
라는 파일을 만들고 다음 코드를 추가합니다.
"""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)
다음을 바꿉니다.
SCOPE
: 구독에서 하나 이상의 이벤트 유형을 지원하는 OAuth 범위입니다. 예를 들어 구독에서 업데이트된 Chat 스페이스(https://www.googleapis.com/auth/chat.spaces.readonly
)의 이벤트를 수신하는 경우
EVENT_TYPE
: CloudEvents 사양에 따라 형식이 지정된 이벤트 유형입니다. 예를 들어 Google Chat 스페이스의 새 멤버십에 관한 이벤트를 수신하는 구독을 필터링하려면 google.workspace.chat.message.v1.created
를 사용합니다.
TARGET_RESOURCE
: 타겟 리소스이며 전체 리소스 이름으로 형식이 지정됩니다. 예를 들어 Google Chat 스페이스의 구독을 기준으로 필터링하려면 //chat.googleapis.com/spaces/SPACE_ID
를 사용하세요. 여기서 spaces/SPACE_ID
는 Space
리소스의 name
필드를 나타냅니다.
작업 디렉터리에 OAuth 클라이언트 ID 사용자 인증 정보를 저장하고 파일 이름을 credentials.json
로 지정했는지 확인합니다. 코드 샘플은 이 JSON 파일을 사용하여 Google Workspace에서 인증하고 사용자 인증 정보를 가져옵니다. 자세한 내용은 OAuth 클라이언트 ID 사용자 인증 정보 만들기를 참고하세요.
구독을 나열하려면 터미널에서 다음을 실행합니다.
python3 list_subscriptions.py
Google Workspace Events API는 쿼리의 필터와 일치하는 페이지로 구분된 Subscription
객체 배열을 반환합니다.
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-08-26(UTC)
[null,null,["최종 업데이트: 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)"]]