Ottenere dettagli su un abbonamento a Google Workspace

Questa pagina spiega come ottenere i dettagli di un abbonamento a Google Workspace utilizzando il metodo subscriptions.get().

Quando chiami questo metodo con l'autenticazione utente, il metodo restituisce i dettagli di un abbonamento autorizzato dall'utente. Quando utilizzi l'autenticazione dell'app, il metodo può restituire i dettagli di qualsiasi abbonamento per l'app.

Prerequisiti

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
      
  • Un abbonamento a Google Workspace. Per crearne uno, consulta Creare un abbonamento.

  • Richiede l'autenticazione:

    • Per l'autenticazione utente, richiede un ambito che supporti almeno uno dei tipi di eventi per l'abbonamento. Per identificare un ambito, vedi Ambiti per tipo di evento.
    • Per l'autenticazione dell'app, richiede l'ambito chat.bot (solo app Google Chat).

Ottenere un abbonamento autorizzato da un utente

Il seguente esempio di codice recupera i dettagli di una risorsa Subscription utilizzando l'autenticazione utente. Quando l'autenticazione viene eseguita come utente, il metodo restituisce un abbonamento che l'utente ha autorizzato l'app a creare.

Per ottenere un abbonamento autorizzato da un utente:

Apps Script

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

    function getSubscription() {
      // The name of the subscription to get.
      const name = 'subscriptions/SUBSCRIPTION_ID';
    
      // Call the Workspace Events API using the advanced service.
      const subscription = WorkspaceEvents.Subscriptions.get(name);
      console.log(subscription);
    }
    

    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 ottenere l'abbonamento, esegui la funzione getSubscription nel tuo progetto Apps Script.

Python

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

    """Get subscription."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['SCOPE']
    
    # 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'
    subscription = service.subscriptions().get(name=NAME).execute()
    print(subscription)
    

    Sostituisci quanto segue:

    • SCOPE: un ambito OAuth che supporta almeno un tipo di evento dell'abbonamento. Ad esempio, se il tuo abbonamento riceve eventi uno spazio di Chat aggiornato, https://www.googleapis.com/auth/chat.spaces.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 archiviato 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 ottenere l'abbonamento, esegui questo comando nel terminale:

    python3 get_subscription.py