Questa pagina spiega come rinnovare un abbonamento a Google Workspace utilizzando
il
subscriptions.update()
metodo. Utilizza questo metodo per aggiornare la data di scadenza di un abbonamento, incluso il rinnovo dell'abbonamento per la data di scadenza massima possibile, o per aggiornare l'elenco dei tipi di eventi da ricevere sulla risorsa di destinazione.
Apps Script
- Un abbonamento a Google Workspace. Per crearne uno, vedi Creare un 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 anche aggiungere gli
ambiti al file
appsscript.jsonnel tuo progetto Apps Script. Ad esempio, se hai specificato l'ambitochat.messages, aggiungi quanto segue: - Attiva
il servizio avanzato
Google Workspace Events.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
Richiede l'autenticazione e un ambito di autorizzazione appropriato per ogni tipo di evento nell'abbonamento:
- Per l'autenticazione utente, richiede uno o più ambiti che supportano almeno uno dei tipi di eventi per l'abbonamento. Per identificare un ambito, vedi Ambiti per tipo di evento.
- Per abbonarsi a un evento di Chat come app Chat, è necessaria l'autenticazione dell'app con l'approvazione una tantum dell'amministratore.
Python
- Python 3.6 o versioni successive
- Lo strumento di gestione dei pacchetti pip
- Le librerie client Google più recenti per Python. Per installarle o aggiornarle, 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, vedi Creare un abbonamento.
Richiede l'autenticazione e un ambito di autorizzazione appropriato per ogni tipo di evento nell'abbonamento:
- Per l'autenticazione utente, richiede uno o più ambiti che supportano almeno uno dei tipi di eventi per l'abbonamento. Per identificare un ambito, vedi Ambiti per tipo di evento.
- Per abbonarsi a un evento di Chat come app Chat, è necessaria l'autenticazione dell'app con l'approvazione una tantum dell'amministratore.
Rinnovare un abbonamento a Google Workspace
In questa sezione, utilizza il metodo subscriptions.update() dell'API Google Workspace Events per rinnovare un abbonamento alla sua data di scadenza massima. Per specificare la data di scadenza massima, aggiorna il ttl
campo della
Subscription risorsa
a 0.
La data di scadenza massima dipende dai dati delle risorse inclusi nel payload dell'evento. Per saperne di più sulle date di scadenza, vedi Dati degli eventi per gli eventi di Google Workspace.
Per rinnovare un abbonamento a Google Workspace:
Apps Script
Nel progetto Apps Script, crea un nuovo file di script denominato
updateSubscriptione 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:
Per aggiornare l'abbonamento a Google Workspace, esegui la funzione
updateSubscriptionnel progetto Apps Script.
Python
Nella directory di lavoro, crea un file denominato
update_subscription.pye 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 una virgola. 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:
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.Per aggiornare l'abbonamento a Google Workspace, esegui il comando seguente nel terminale:
python3 update_subscription.py
Subscription.
Per ottenere i dettagli sulla risorsa Subscription aggiornata, utilizza il
operations.get() metodo
e specifica la risorsa Operation restituita dalla tua subscriptions.update()
richiesta. 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:
Anziché l'autenticazione utente, esegui l'autenticazione come app Chat con l'approvazione una tantum dell'amministratore.
Specifica gli ambiti di autorizzazione che consentono all'app Chat di abbonarsi agli eventi di Chat. Questi ambiti di autorizzazione iniziano sempre con
chat.appe includono quanto segue:https://www.googleapis.com/auth/chat.app.memberships: abbonati agli eventi dei membri dello spazio di Chat.https://www.googleapis.com/auth/chat.app.memberships.readonly: abbonati agli eventi dei membri dello spazio di Chat.https://www.googleapis.com/auth/chat.app.messages.readonly: abbonati agli eventi dei messaggi dello spazio di Chat.https://www.googleapis.com/auth/chat.app.spaces: abbonati agli eventi dello spazio di Chat.https://www.googleapis.com/auth/chat.app.spaces.readonly: abbonati agli eventi dello spazio di Chat.
Scrivere uno script che chiama l'API Google Workspace Events
L'esempio di codice seguente aggiorna l'abbonamento a Google Workspace di un'app 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,
)
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 abbonarsi agli eventi di Chat. Questi ambiti di autorizzazione iniziano sempre conchat.appe includono quanto segue:https://www.googleapis.com/auth/chat.app.memberships: abbonati agli eventi dei membri dello spazio di Chat.https://www.googleapis.com/auth/chat.app.memberships.readonly: abbonati agli eventi dei membri dello spazio di Chat.https://www.googleapis.com/auth/chat.app.messages.readonly: abbonati agli eventi dei messaggi e delle reazioni dello spazio di Chat.https://www.googleapis.com/auth/chat.app.spaces: abbonati agli eventi dello spazio di Chat.https://www.googleapis.com/auth/chat.app.spaces.readonly: abbonati agli eventi dello spazio di Chat.
SUBSCRIPTION_ID: l'ID dell'abbonamento. Per ottenere l'ID, puoi utilizzare uno dei seguenti metodi: