En esta página, se explica cómo renovar una suscripción a Google Workspace con
el
subscriptions.update()
método. Usa este método para actualizar el tiempo de vencimiento de una suscripción, incluida la renovación de la suscripción por el tiempo de vencimiento máximo posible, o para actualizar la lista de tipos de eventos que se recibirán sobre el recurso de destino.
Apps Script
- Una suscripción a Google Workspace. Para crear una, consulta Crea una suscripción.
- Un proyecto de Apps Script:
- Usa tu proyecto de Google Cloud en lugar del predeterminado que crea Apps Script automáticamente.
- Para todos los alcances que agregaste para configurar la pantalla de consentimiento de OAuth, también debes agregar los
alcances al archivo
appsscript.jsonen tu proyecto de Apps Script. Por ejemplo, si especificaste el alcancechat.messages, agrega lo siguiente: - Habilita
el
Google Workspace Eventsservicio avanzado.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
Requiere autenticación y un alcance de autorización adecuado para cada tipo de evento en la suscripción:
- Para la autenticación de usuarios, requiere uno o más alcances que admitan al menos uno de los tipos de eventos para la suscripción. Para identificar un alcance, consulta Alcances por tipo de evento.
- Para suscribirse a un evento de Chat como una app de Chat, requiere la autenticación de la app con la aprobación única del administrador.
Python
- Python 3.6 o una versión superior
- La herramienta de administración de paquetes pip
- Las bibliotecas cliente de Google más recientes para Python. Para instalarlas o actualizarlas, 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 Crea una suscripción.
Requiere autenticación y un alcance de autorización adecuado para cada tipo de evento en la suscripción:
- Para la autenticación de usuarios, requiere uno o más alcances que admitan al menos uno de los tipos de eventos para la suscripción. Para identificar un alcance, consulta Alcances por tipo de evento.
- Para suscribirse a un evento de Chat como una app de Chat, requiere la autenticación de la app con la aprobación única del administrador.
Renueva una suscripción a Google Workspace
En esta sección, usa el método subscriptions.update() de la API de Google Workspace Events para renovar una suscripción a su tiempo de vencimiento máximo. Para especificar el tiempo de vencimiento máximo, actualiza el ttl
campo del
Subscription recurso
a 0.
El tiempo de vencimiento máximo depende de los datos de recursos que se incluyan en la carga útil del evento. Para obtener más información sobre los tiempos de vencimiento, consulta Datos de eventos para eventos de Google Workspace.
Para renovar una suscripción a Google Workspace, haz lo siguiente:
Apps Script
En tu proyecto de Apps Script, crea un archivo de secuencia de comandos nuevo llamado
updateSubscriptiony agrega el siguiente código: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); }Reemplaza lo siguiente:
Para actualizar la suscripción a Google Workspace, ejecuta la función
updateSubscriptionen tu proyecto de Apps Script.
Python
En tu directorio de trabajo, crea un archivo llamado
update_subscription.pyy agrega el siguiente código:"""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)Reemplaza lo siguiente:
SCOPES: Uno o más alcances de OAuth que admiten cada tipo de evento para la suscripción. Se formatea como un array de cadenas. Para enumerar varios alcances, sepáralos con comas. Por ejemplo,'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'.SUBSCRIPTION_ID: Es el 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. El ejemplo 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 actualizar la suscripción a Google Workspace, ejecuta lo siguiente en tu terminal:
python3 update_subscription.py
Subscription.
Para obtener detalles sobre el recurso Subscription actualizado, usa el
operations.get() método
y especifica el recurso Operation que se muestra en tu solicitud subscriptions.update(). De lo contrario, si especificas un recurso Operation de una versión anterior de la suscripción, la respuesta estará vacía.
Actualiza o renueva una suscripción como una app de Google Chat
Puedes actualizar o renovar una suscripción a eventos de Chat como una app de Chat en lugar de como un usuario. El proceso es similar, excepto por lo siguiente:
En lugar de la autenticación de usuarios, autentícate como una app de Chat con la aprobación única del administrador.
Especifica los alcances de autorización que permiten que la app de Chat se suscriba a eventos de Chat. Estos alcances de autorización siempre comienzan con
chat.appy, además, incluyen lo siguiente:https://www.googleapis.com/auth/chat.app.memberships: Suscríbete a los eventos de miembros del espacio de Chat.https://www.googleapis.com/auth/chat.app.memberships.readonly: Suscríbete a los eventos de miembros del espacio de Chat.https://www.googleapis.com/auth/chat.app.messages.readonly: Suscríbete a los eventos de mensajes del espacio de Chat.https://www.googleapis.com/auth/chat.app.spaces: Suscríbete a los eventos del espacio de Chat.https://www.googleapis.com/auth/chat.app.spaces.readonly: Suscríbete a los eventos del espacio de Chat.
Escribe una secuencia de comandos que llame a la API de Google Workspace Events
En el siguiente ejemplo de código, se actualiza la suscripción a Google Workspace de una app de Chat:
Python
"""Update subscription."""
from google.oauth2 import service_account
from apiclient.discovery import build
# Specify required scopes.
SCOPES = [SCOPES]
# Specify service account details.
CREDENTIALS = (
service_account.Credentials.from_service_account_file('credentials.json')
.with_scopes(SCOPES)
)
# Call the Workspace Events API using the service endpoint.
service = build(
'workspaceevents',
'v1beta',
credentials=CREDENTIALS,
)
BODY = {
'ttl': {'seconds': 0},
}
NAME = 'subscriptions/SUBSCRIPTION_ID'
response = (
service.subscriptions()
.patch(name=NAME, updateMask='ttl', body=BODY)
.execute()
)
print(response)
Reemplaza lo siguiente:
SCOPES: Especifica los alcances de autorización que permiten que la app de Chat se suscriba a eventos de Chat. Estos alcances de autorización siempre comienzan conchat.appy, además, incluyen lo siguiente:https://www.googleapis.com/auth/chat.app.memberships: Suscríbete a los eventos de miembros del espacio de Chat.https://www.googleapis.com/auth/chat.app.memberships.readonly: Suscríbete a los eventos de miembros del espacio de Chat.https://www.googleapis.com/auth/chat.app.messages.readonly: Suscríbete a los eventos de mensajes y reacciones del espacio de Chat.https://www.googleapis.com/auth/chat.app.spaces: Suscríbete a los eventos del espacio de Chat.https://www.googleapis.com/auth/chat.app.spaces.readonly: Suscríbete a los eventos del espacio de Chat.
SUBSCRIPTION_ID: Es el ID de la suscripción. Para obtener el ID, puedes usar cualquiera de las siguientes opciones: