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 dettagli su 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 progetto Apps Script. Ad esempio:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages.readonly"
      ]
          
    • Attiva il servizio avanzato Google Workspace Events.

Python

  • Python 3.6 o versioni successive
  • Lo strumento di gestione dei 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 una sottoscrizione.

  • Richiede l'autenticazione:

    • Per l'autenticazione utente, è necessario un ambito che supporti almeno uno dei tipi di evento per l'abbonamento. Per identificare un ambito, consulta Ambiti per tipo di evento.
    • Per l'autenticazione delle app, è richiesto l'ambito chat.bot (solo app Google Chat).

Ricevere un abbonamento autorizzato da un utente

Il seguente esempio di codice recupera i dettagli di una risorsa Subscription utilizzando l'autenticazione utente. Quando viene autenticato 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 chiamato 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 una delle seguenti opzioni:
      • 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('client_secrets.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 una delle seguenti opzioni:
      • 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 assegnato al file il nome client_secrets.json. L'esempio di codice utilizza questo file JSON per autenticarsi con Google Workspace e ottenere le credenziali utente. Per le istruzioni, consulta Creare le credenziali dell'ID client OAuth.

  3. Per ottenere l'abbonamento, esegui il seguente comando nel terminale:

    python3 get_subscription.py