Enumerar suscripciones a Google Workspace
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En esta página, se explica cómo enumerar las suscripciones de Google Workspace con el método subscriptions.list()
.
Cuando llamas a este método con la autenticación del usuario, este devuelve una lista de suscripciones autorizadas por el usuario. Cuando usas la autenticación de la app, el método puede devolver una lista que contenga cualquier suscripción de la app.
Requisitos previos
Apps Script
- Un proyecto de Apps Script:
Python
- Python 3.6 o una versión posterior
- La herramienta de administración de paquetes pip
- Las bibliotecas cliente de Google más recientes para Python. Para instalarlos o actualizarlos, ejecuta el siguiente comando en tu interfaz de línea de comandos:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Una suscripción a Google Workspace Para crear una, consulta Cómo crear una suscripción.
Requiere autenticación:
- Para la autenticación del usuario, se requiere un alcance que admita al menos uno de los tipos de eventos de la suscripción. Para identificar un alcance, consulta Alcances por tipo de evento.
- Para la autenticación de la app, se requiere el alcance
chat.bot
(solo para apps de Google Chat).
Enumera las suscripciones autorizadas por un usuario
Para enumerar las suscripciones, debes filtrar por al menos un tipo de evento. También puedes filtrar tu búsqueda por uno o más recursos objetivo. Para obtener información sobre los filtros de búsqueda admitidos, consulta la documentación del método list()
.
La siguiente muestra de código devuelve un array de objetos Subscription
filtrados por tipo de evento y recurso de destino. Cuando se autentica como usuario, el método solo devuelve una lista de suscripciones que el usuario autorizó a la app a crear.
Para enumerar las suscripciones de un tipo de evento y un recurso de destino especificados, haz lo siguiente:
Apps Script
En tu proyecto de Apps Script, crea un archivo de secuencia de comandos nuevo llamado listSubscriptions
y agrega el siguiente código:
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);
}
Reemplaza lo siguiente:
EVENT_TYPE
: Es un tipo de evento con el formato de la especificación de CloudEvents. Por ejemplo, para filtrar las suscripciones que reciben eventos sobre membresías nuevas en un espacio de Google Chat, google.workspace.chat.message.v1.created
.
TARGET_RESOURCE
: Es un recurso de destino, con el formato de su nombre completo del recurso. Por ejemplo, para filtrar por suscripciones de un espacio de Google Chat, usa //chat.googleapis.com/spaces/SPACE_ID
, donde spaces/SPACE_ID
representa el campo name
del recurso Space
.
Para enumerar las suscripciones, ejecuta la función listSubscriptions
en tu proyecto de Apps Script.
Python
En tu directorio de trabajo, crea un archivo llamado list_subscriptions.py
y agrega el siguiente código:
"""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)
Reemplaza lo siguiente:
SCOPE
: Es un permiso de OAuth que admite al menos un tipo de evento de la suscripción. Por ejemplo, si tu suscripción recibe eventos de un espacio de Chat actualizado, https://www.googleapis.com/auth/chat.spaces.readonly
.
EVENT_TYPE
: Es un tipo de evento con el formato de la especificación de CloudEvents. Por ejemplo, para filtrar las suscripciones que reciben eventos sobre membresías nuevas en un espacio de Google Chat, google.workspace.chat.message.v1.created
.
TARGET_RESOURCE
: Es un recurso de destino, con el formato de su nombre completo del recurso. Por ejemplo, para filtrar por suscripciones de un espacio de Google Chat, usa //chat.googleapis.com/spaces/SPACE_ID
, donde spaces/SPACE_ID
representa el campo name
del recurso Space
.
En tu directorio de trabajo, asegúrate de haber almacenado tus credenciales de ID de cliente de OAuth y de haber nombrado el archivo credentials.json
. La muestra de código usa este archivo JSON para autenticarse en Google Workspace y obtener credenciales de usuario. Para obtener instrucciones, consulta Crea credenciales de ID de cliente de OAuth.
Para enumerar las suscripciones, ejecuta el siguiente comando en la terminal:
python3 list_subscriptions.py
La API de Google Workspace Events devuelve un array paginado de objetos Subscription
que coinciden con el filtro de tu consulta.
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-08-26 (UTC)
[null,null,["Última actualización: 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)"]]