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 el tiempo de vencimiento de una suscripción, incluida la renovación de la suscripción para 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

  • Un proyecto de Apps Script:
    • Usa tu proyecto de Google Cloud en lugar del predeterminado que crea Apps Script automáticamente.
    • Para 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:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages.readonly"
      ]
          
    • Habilita el servicio avanzado 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 la interfaz de línea de comandos:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      

Cómo renovar 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 de vencimiento máximo depende de los datos de recursos que se incluyen en la carga útil del evento. Para obtener más información sobre los tiempos de vencimiento, consulta Datos de eventos para los 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 nuevo archivo de secuencia de comandos 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: Es el ID de la suscripción. Para obtener el ID, puedes usar cualquiera de las siguientes opciones:
      • El valor del campo uid.
      • Es el 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('client_secrets.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 admitan cada tipo de evento para la suscripción. Tiene el formato de 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: Es el ID de la suscripción. Para obtener el ID, puedes usar cualquiera de las siguientes opciones:
      • El valor del campo uid.
      • Es el 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 las credenciales de tu ID de cliente de OAuth y de haber nombrado el archivo client_secrets.json. La muestra de código usa este archivo JSON para autenticarse con Google Workspace y obtener credenciales del usuario. Para obtener instrucciones, consulta Cómo crear credenciales de ID de cliente de OAuth.

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

    python3 update_subscription.py
La API de Google Workspace Events muestra 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 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.