En esta página, se explica cómo reactivar una suscripción suspendida de Google Workspace resolviendo o solucionando errores y llamando al método subscriptions.reactivate
.
Las suscripciones a Google Workspace se suspenden cuando un error impide que reciban eventos. Por ejemplo, una suscripción se suspende cuando no se puede encontrar su recurso de destino o extremo de notificación. Después de resolver los errores relacionados con la suscripción, puedes reactivarla para volver a recibir eventos.
Puedes obtener información sobre una suscripción suspendida de las siguientes maneras:
- Tu app recibe un evento de ciclo de vida sobre la suspensión. Si se suspende tu suscripción debido a un error con su extremo, es posible que no recibas un evento de ciclo de vida.
- Usas los métodos
subscriptions.get
osubscriptions.list
para ver si el campostate
de la suscripción está establecido enSUSPENDED
. - Recibirás una notificación sobre una falla en la entrega en tu endpoint de notificación. Para obtener información sobre cómo supervisar las fallas en la entrega a temas de Google Cloud Pub/Sub, consulta Cómo controlar las fallas de mensajes.
Las suscripciones reactivadas conservan la fecha de vencimiento original. Para extender el tiempo de vencimiento de una suscripción, consulta Cómo actualizar o renovar una suscripción a Google Workspace.
Apps Script
- Una suscripción a Google Workspace Para crear una, consulta Cómo crear una suscripción.
Requiere la autenticación del usuario con uno o más alcances que admitan todos los tipos de eventos para la suscripción.
- Un proyecto de Apps Script:
- Usa tu proyecto de Google Cloud en lugar del predeterminado que crea automáticamente Apps Script.
- Para todos los permisos que agregaste para configurar la pantalla de consentimiento de OAuth, también debes agregar los permisos al archivo
appsscript.json
en tu proyecto de Apps Script. Por ejemplo, si especificaste el permisochat.messages
, agrega lo siguiente: - Habilita el servicio avanzado de
Google Workspace Events
.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
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 la autenticación del usuario con uno o más alcances que admitan todos los tipos de eventos para la suscripción.
Identifica y resuelve errores
Para identificar el error de una suscripción, revisa el campo suspensionReason
de la suscripción. Puedes encontrar este campo cuando recibas un evento de ciclo de vida sobre la suspensión o usando el método subscriptions.get
para revisar todos los campos de la suscripción.
En la siguiente tabla, se muestran los posibles errores de una suscripción y, cuando es posible, cómo resolverlos. Si no puedes resolver el error, puedes borrar la suscripción o esperar a que venza. La API de Google Workspace Events borra automáticamente las suscripciones vencidas.
Error | Descripción | Formas de resolver el problema |
---|---|---|
|
El usuario autorizante revocó el otorgamiento de uno o más permisos de OAuth que se requieren para la suscripción. | Obtén otro token de acceso. Para obtener más información, consulta Cómo obtener un token de acceso del servidor de autorización de Google. |
|
Se borró el recurso de destino de la suscripción. | Si se restablece el recurso, llama al método reactivate . De lo contrario, no es necesario que realices ninguna acción, ya que no puedes reactivar una
suscripción sin su recurso de destino original. |
|
El usuario autorizador ya no tiene acceso al recurso de la suscripción. | No se requiere ninguna acción. No puedes reactivar la suscripción, ya que el usuario que la autorizó no puede acceder al recurso de destino. |
|
La aplicación de Google Workspace no tiene acceso para entregar eventos a tu extremo de notificación. | Otorga acceso a la cuenta de servicio para la aplicación de Google Workspace que entrega eventos. Cuentas de servicio:
En el caso de los temas de Pub/Sub, otorga el rol de Publicador de Pub/Sub ( roles/pubsub.publisher)
) a la cuenta de servicio. |
|
El extremo de notificación no existe o no se puede encontrar. | Verifica que el extremo siga activo y funcionando. Para solucionar problemas relacionados con los temas de Pub/Sub, consulta la documentación de solución de problemas. |
|
El extremo de notificación no recibió eventos debido a que la cuota es insuficiente o se alcanzó el límite de frecuencia. | Solicita un aumento de la cuota. |
Cómo reactivar una suscripción
Después de resolver el error que suspendió tu suscripción, puedes usar el método reactivate
para permitir que la suscripción vuelva a recibir eventos. El método verifica que se hayan resuelto todos los errores y cambia el campo state
de tu suscripción de SUSPENDED
a ACTIVE
.
Para reactivar una suscripción a Google Workspace, sigue estos pasos:
Apps Script
En tu proyecto de Apps Script, crea un archivo de secuencia de comandos nuevo llamado
reactivateSubscription
y agrega el siguiente código:function reactivateSubscription() { // The name of the subscription to reactivate. const name = 'subscriptions/SUBSCRIPTION_ID'; // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.reactivate({}, name); console.log(response); }
Reemplaza lo siguiente:
Para reactivar la suscripción a Google Workspace, ejecuta la función
reactivateSubscription
en tu proyecto de Apps Script.
Python
En tu directorio de trabajo, crea un archivo llamado
reactivate_subscription.py
y agrega el siguiente código:"""Reactivate 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, ) NAME = 'subscriptions/SUBSCRIPTION_ID' response = service.subscriptions().reactivate(name=NAME).execute() print(response)
Reemplaza lo siguiente:
SCOPES
: Uno o más permisos de OAuth que admiten cada tipo de evento para la suscripción. Se da formato como un array de cadenas. Para enumerar varios permisos, sepáralos con comas. Por ejemplo,'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'
.SUBSCRIPTION_ID
: ID de la suscripción. Para obtener el ID, puedes usar cualquiera de las siguientes opciones:
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 reactivar la suscripción a Google Workspace, ejecuta el siguiente comando en la terminal:
python3 reactivate_subscription.py
Subscription
.
Si falla la solicitud, consulta la siguiente sección para solucionar problemas adicionales.
Soluciona varios errores
Si resolviste el error que suspendió la suscripción y el método reactivate
falla, es posible que se haya producido otro error después de que se suspendió la suscripción.
Para identificar errores adicionales, revisa el resultado de la solicitud fallida. La salida contiene los errores que aún están presentes.
Cuando tu suscripción tiene varios errores, el valor del campo suspensionReason
siempre usa el error original que suspendió tu suscripción.