In questa pagina viene spiegato come riattivare un abbonamento a Google Workspace sospeso
risolvendo gli errori o risolvendoli e chiamando il metodo
subscriptions.reactivate()
.
Gli abbonamenti a Google Workspace vengono sospesi ogni volta che un errore impedisce all'abbonamento di ricevere eventi. Ad esempio, un abbonamento viene sospeso quando non è possibile trovare la risorsa di destinazione o l'endpoint di notifica. Dopo aver risolto gli eventuali errori dell'abbonamento, puoi riattivarlo per iniziare a ricevere di nuovo gli eventi.
Puoi trovare informazioni su un abbonamento sospeso nei seguenti modi:
- L'app riceve un evento del ciclo di vita relativo alla sospensione. Se l'abbonamento viene sospeso a causa di un errore dell'endpoint, potresti non ricevere un evento del ciclo di vita.
- Puoi utilizzare i metodi
subscriptions.get()
osubscriptions.list()
per vedere se il campostate
dell'abbonamento è impostato suSUSPENDED
. - Ricevi una notifica relativa a un errore di recapito al tuo endpoint di notifica. Per scoprire di più sul monitoraggio degli errori di consegna negli argomenti Google Cloud Pub/Sub, consulta Gestire gli errori di consegna dei messaggi.
Gli abbonamenti riattivati mantengono la data di scadenza originale. Per estendere la scadenza di un abbonamento, consulta Aggiornare o rinnovare un abbonamento.
Apps Script
- Un abbonamento a Google Workspace. Per crearne uno, consulta Creare un abbonamento.
Richiede l'autenticazione utente con uno o più ambiti 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 tuo progetto Apps Script. Ad esempio:
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
- Abilita
il servizio avanzato
Google Workspace Events
.
Python
- Python 3.6 o versioni successive
- Lo strumento di gestione dei pacchetti pip
- Le librerie client di Google più recenti per Python. Per installarli o aggiornarli, esegui questo 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 utente con uno o più ambiti che supportano tutti i tipi di eventi per l'abbonamento.
Identificare e risolvere gli errori
Per identificare l'errore relativo a un abbonamento, esamina il campo suspensionReason
dell'abbonamento. Puoi trovare questo campo quando ricevi un evento del ciclo di vita relativo alla sospensione o utilizza il metodo subscriptions.get()
per esaminare tutti i campi dell'abbonamento.
La tabella seguente mostra i possibili errori relativi a una sottoscrizione e, se possibile, mostra come risolverli. Se non riesci a risolvere l'errore, puoi eliminare l'abbonamento o attendere che scada. L'API Google Workspace Eventi elimina automaticamente gli abbonamenti scaduti.
Errore | Descrizione | Modi per risolvere il problema |
---|---|---|
|
L'utente autorizzante ha revocato la concessione di uno o più ambiti OAuth richiesti per l'abbonamento. | Richiedi un altro token di accesso. Per maggiori dettagli, consulta Ottenere un token di accesso dal server di autorizzazione di Google. |
|
La risorsa di destinazione per la sottoscrizione è stata eliminata. | Se la risorsa viene ripristinata, chiama il metodo reactivate() . In caso contrario, non è richiesta alcuna azione, poiché non puoi riattivare una sottoscrizione senza la risorsa di destinazione originale. |
|
L'utente che ha concesso l'autorizzazione non ha più accesso alla risorsa per l'abbonamento. | Non occorre alcun intervento. Non puoi riattivare l'abbonamento, poiché l'utente che l'ha autorizzato non può accedere alla risorsa di destinazione. |
|
L'applicazione Google Workspace non dispone dell'accesso per inviare eventi all'endpoint di notifica. | Concedi l'accesso all'account di servizio per l'applicazione Google Workspace che pubblica eventi. Per gli eventi di Google Chat, l'account di servizio è chat-api-push@system.gserviceaccount.com . Per gli eventi di Google Meet, l'account di servizio è
meet-api-event-push@system.gserviceaccount.com .Per gli argomenti Pub/Sub, concedi il ruolo Publisher Pub/Sub ( roles/pubsub.publisher)
all'account di servizio. |
|
L'endpoint di notifica non esiste o non è possibile trovarlo. | Verifica che l'endpoint sia ancora attivo e funzionante. Per risolvere i problemi relativi agli argomenti Pub/Sub, consulta la documentazione per la risoluzione dei problemi. |
|
L'endpoint di notifica non è riuscito a ricevere eventi a causa di una quota insufficiente o del raggiungimento di una limitazione di frequenza. | Richiedi un aumento della quota. |
Riattivare un abbonamento
Dopo aver risolto l'errore che ha causato la sospensione dell'abbonamento, puoi utilizzare
il metodo reactivate()
per consentire di nuovo all'abbonamento di ricevere eventi. Il metodo verifica che tutti gli errori siano stati risolti e modifica il campo state
dell'abbonamento da SUSPENDED
a ACTIVE
.
Per riattivare un abbonamento a Google Workspace:
Apps Script
Nel tuo progetto Apps Script, crea un nuovo file script denominato
reactivateSubscription
e aggiungi il seguente codice:function reactivateSubscription() { // The name of the subscription to reactivate. const name = 'subscriptions/SUBSCRIPTION_ID'; // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.reactivate({}, name); console.log(response); }
Sostituisci quanto segue:
Per riattivare l'abbonamento a Google Workspace, esegui la funzione
reactivateSubscription
nel tuo progetto Apps Script.
Python
Nella directory di lavoro, crea un file denominato
reactivate_subscription.py
e aggiungi il seguente codice:"""Reactivate 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('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' response = service.subscriptions().reactivate(name=NAME).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 virgole. 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 documenti:
Nella directory di lavoro, assicurati di aver archiviato le credenziali dell'ID client OAuth e denominato
client_secrets.json
. L'esempio di codice utilizza questo file JSON per eseguire l'autenticazione con Google Workspace e ottenere le credenziali utente. Per le istruzioni, consulta la pagina Creare le credenziali dell'ID client OAuth.Per riattivare l'abbonamento a Google Workspace, esegui questo comando nel tuo terminale:
python3 reactivate_subscription.py
Subscription
.
Se la richiesta non va a buon fine, consulta la sezione seguente per risolvere altri errori.
Risolvere più errori
Se hai risolto l'errore che causava la sospensione dell'abbonamento e il metodo reactivate()
non va a buon fine, è possibile che si sia verificato un altro errore dopo la sospensione dell'abbonamento.
Per identificare altri errori, esamina l'output della richiesta non riuscita. L'output contiene eventuali errori ancora presenti.
Se l'abbonamento contiene più errori, il valore del campo suspensionReason
utilizza sempre l'errore originale che ha sospeso l'abbonamento.