Aggiornare o rinnovare un abbonamento a Google Workspace

Questa pagina spiega come rinnovare un abbonamento a Google Workspace utilizzando il metodo subscriptions.update(). Puoi utilizzare questo metodo per aggiornare la data di scadenza di un abbonamento, incluso il rinnovo dell'abbonamento per la durata massima possibile, oppure per aggiornare l'elenco dei tipi di eventi da ricevere sulla risorsa di destinazione.

Apps Script

  • Un progetto Apps Script:
    • Utilizza il tuo progetto Google Cloud anziché quello predefinito creato automaticamente da Apps Script.
    • Per tutti gli ambiti che hai aggiunto per configurare la schermata per il consenso OAuth, devi aggiungere anche gli ambiti al file appsscript.json nel tuo progetto Apps Script. Ad esempio, se hai specificato l'ambito chat.messages, aggiungi quanto segue:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages"
      ]
          
    • Attiva il servizio avanzato Google Workspace Events.

Python

  • Python 3.6 o versioni successive
  • Lo strumento di gestione pacchetti pip
  • Le librerie client Google più recenti per Python. Per installarli o aggiornarli, esegui il seguente comando nell'interfaccia a riga di comando:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      

Rinnova un abbonamento a Google Workspace

In questa sezione utilizzi il metodo subscriptions.update() dell'API Google Workspace Events per rinnovare un abbonamento fino alla sua scadenza massima. Per specificare la scadenza massima, aggiorna il campo ttl della risorsa Subscription a 0.

Il tempo massimo di scadenza dipende dai dati delle risorse inclusi nel payload dell'evento. Per saperne di più sui tempi di scadenza, consulta Dati sugli eventi per gli eventi di Google Workspace.

Per rinnovare un abbonamento a Google Workspace:

Apps Script

  1. Nel tuo progetto Apps Script, crea un nuovo file di script denominato updateSubscription e aggiungi il seguente codice:

    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);
    }
    

    Sostituisci quanto segue:

    • SUBSCRIPTION_ID: l'ID dell'abbonamento. Per ottenere l'ID, puoi utilizzare uno dei seguenti metodi:
      • Il valore del campo uid.
      • L'ID del nome della risorsa rappresentato nel campo name. Ad esempio, se il nome della risorsa è subscriptions/subscription-123, utilizza subscription-123.
  2. Per aggiornare l'abbonamento a Google Workspace, esegui la funzione updateSubscription nel tuo progetto Apps Script.

Python

  1. Nella directory di lavoro, crea un file denominato update_subscription.py e aggiungi il seguente codice:

    """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)
    

    Sostituisci quanto segue:

    • SCOPES: uno o più ambiti OAuth che supportano ogni tipo di evento per l'abbonamento. Formattato come array di stringhe. Per elencare più ambiti, separali con le virgole. Ad esempio: 'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'.
    • SUBSCRIPTION_ID: l'ID dell'abbonamento. Per ottenere l'ID, puoi utilizzare uno dei seguenti metodi:
      • Il valore del campo uid.
      • L'ID del nome della risorsa rappresentato nel campo name. Ad esempio, se il nome della risorsa è subscriptions/subscription-123, utilizza subscription-123.
  2. Nella directory di lavoro, assicurati di aver memorizzato le credenziali dell'ID client OAuth e di aver denominato il file credentials.json. L'esempio di codice utilizza questo file JSON per l'autenticazione con Google Workspace e per ottenere le credenziali utente. Per istruzioni, vedi Creare le credenziali dell'ID client OAuth.

  3. Per aggiornare l'abbonamento a Google Workspace, esegui questo comando nel terminale:

    python3 update_subscription.py
L'API Google Workspace Events restituisce un'operazione a lunga esecuzione che contiene l'istanza della risorsa Subscription.

Per ottenere i dettagli della risorsa Subscription aggiornata, utilizza il metodo operations.get() e specifica la risorsa Operation restituita dalla richiesta subscriptions.update(). In caso contrario, se specifichi una risorsa Operation di una versione precedente dell'abbonamento, la risposta è vuota.

Aggiornare o rinnovare un abbonamento come app Google Chat

Puoi aggiornare o rinnovare un abbonamento agli eventi di Chat come app Chat anziché come utente. La procedura è simile, tranne che:

  1. Anziché l'autenticazione utente, autenticati come app Chat con l'approvazione una tantum dell'amministratore.

  2. Specifica gli ambiti di autorizzazione che consentono all'app Chat di iscriversi agli eventi di Chat. Questi ambiti di autorizzazione iniziano sempre con chat.app e includono quanto segue:

    • https://www.googleapis.com/auth/chat.app.memberships: Iscriviti agli eventi dei membri dello spazio di Chat.
    • https://www.googleapis.com/auth/chat.app.messages.readonly: Iscriviti agli eventi dei messaggi dello spazio di Chat.
    • https://www.googleapis.com/auth/chat.app.spaces: Iscriviti agli eventi dello spazio di Chat.

Crea una chiave API

Per chiamare un metodo API di anteprima per gli sviluppatori, devi utilizzare una versione di anteprima per gli sviluppatori non pubblica del documento di rilevamento API. Per autenticare la richiesta, devi trasmettere una chiave API.

Per creare la chiave API, apri il progetto Google Cloud della tua app e svolgi i seguenti passaggi:

  1. Nella console Google Cloud, vai a Menu > API e servizi > Credenziali.

    Vai a credenziali

  2. Fai clic su Crea credenziali > Chiave API.
  3. Viene visualizzata la nuova chiave API.
    • Fai clic su Copia per copiare la chiave API da utilizzare nel codice della tua app. La chiave API è disponibile anche nella sezione "Chiavi API" delle credenziali del progetto.
    • Per impedire l'uso non autorizzato, ti consigliamo di limitare dove e per quali API può essere utilizzata la chiave API. Per maggiori dettagli, vedi Aggiungere limitazioni API.

Scrivere uno script che chiama l'API Google Workspace Events

Il seguente codice campione aggiorna l'abbonamento a Google Workspace di un'app di 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,
      discoveryServiceUrl='https://workspaceevents.googleapis.com/$discovery/rest?version=v1beta&labels=DEVELOPER_PREVIEW&key=API_KEY',
  )

  BODY = {
      'ttl': {'seconds': 0},
  }
  NAME = 'subscriptions/SUBSCRIPTION_ID'
  response = (
      service.subscriptions()
      .patch(name=NAME, updateMask='ttl', body=BODY)
      .execute()
  )
  print(response)

Sostituisci quanto segue:

  • SCOPES: specifica gli ambiti di autorizzazione che consentono all'app Chat di iscriversi agli eventi di Chat. Questi ambiti di autorizzazione iniziano sempre con chat.app e includono quanto segue:

    • https://www.googleapis.com/auth/chat.app.memberships: Iscriviti agli eventi dei membri dello spazio di Chat.
    • https://www.googleapis.com/auth/chat.app.messages.readonly: Abbonati agli eventi di messaggi e reazioni dello spazio di chat.
    • https://www.googleapis.com/auth/chat.app.spaces: Iscriviti agli eventi dello spazio di Chat.
  • API_KEY: la chiave API che hai creato per creare l'endpoint del servizio per l'API Google Workspace Events.

  • SUBSCRIPTION_ID: l'ID dell'abbonamento. Per ottenere l'ID, puoi utilizzare uno dei seguenti metodi:

    • Il valore del campo uid.
    • L'ID del nome della risorsa rappresentato nel campo name. Ad esempio, se il nome della risorsa è subscriptions/subscription-123, utilizza subscription-123.