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 abbonamento a Google Workspace. Per crearne uno, consulta Creare una sottoscrizione.
Richiede l'autenticazione dell'utente con uno o più scope che supportano tutti i tipi di eventi per l'abbonamento.
- 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: - Attiva
il servizio avanzato
Google Workspace Events
.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
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
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:
Per ottenere l'abbonamento, esegui la funzione
getSubscription
nel tuo progetto Apps Script.
Python
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:
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.Per ottenere l'abbonamento, esegui il seguente comando nel terminale:
python3 get_subscription.py