Cómo actualizar o renovar una suscripción a Google Workspace

En esta página, se explica cómo renovar una suscripción a Google Workspace con el método subscriptions.update(). Puedes usar este método para actualizar la hora de vencimiento de una suscripción, lo que incluye renovarla por el tiempo de vencimiento máximo posible, o para actualizar la lista de tipos de eventos que se recibirán sobre el recurso objetivo.

Apps Script

  • 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 permiso chat.messages, agrega lo siguiente:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages"
      ]
          
    • Habilita el servicio avanzado de Google Workspace Events.

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
      

Renueva una suscripción a Google Workspace

En esta sección, usarás el método subscriptions.update() de la API de Google Workspace Events para renovar una suscripción hasta su tiempo de vencimiento máximo. Para especificar el tiempo de vencimiento máximo, actualiza el campo ttl del recurso Subscription a 0.

El tiempo máximo de vencimiento 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, sigue estos pasos:

Apps Script

  1. En tu proyecto de Apps Script, crea un archivo de secuencia de comandos nuevo llamado updateSubscription y 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:

    • SUBSCRIPTION_ID: ID de la suscripción. Para obtener el ID, puedes usar cualquiera de las siguientes opciones:
      • El valor del campo uid.
      • ID del nombre del recurso representado en el campo name. Por ejemplo, si el nombre del recurso es subscriptions/subscription-123, usa subscription-123.
  2. Para actualizar la suscripción a Google Workspace, ejecuta la función updateSubscription en tu proyecto de Apps Script.

Python

  1. En tu directorio de trabajo, crea un archivo llamado update_subscription.py y 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 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:
      • El valor del campo uid.
      • ID del nombre del recurso representado en el campo name. Por ejemplo, si el nombre del recurso es subscriptions/subscription-123, usa subscription-123.
  2. 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.

  3. Para actualizar la suscripción a Google Workspace, ejecuta lo siguiente en tu terminal:

    python3 update_subscription.py
La API de Google Workspace Events devuelve una operación de larga duración que contiene la instancia del recurso Subscription.

Para obtener detalles sobre el recurso Subscription actualizado, usa el método operations.get() y especifica el recurso Operation que se devolvió de 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.