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 tramite 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 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 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