Auf dieser Seite wird erläutert, wie Sie ein gesperrtes Google Workspace-Abo reaktivieren, indem Sie Fehler beheben oder Fehlerbehebung durchführen und die Methode subscriptions.reactivate aufrufen.
Google Workspace-Abos werden gesperrt, wenn ein Fehler verhindert, dass das Abo Ereignisse empfängt. Ein Abo wird beispielsweise angehalten, wenn die Zielressource oder der Benachrichtigungsendpunkt nicht gefunden werden kann. Nachdem Sie alle Fehler im Zusammenhang mit dem Abo behoben haben, können Sie das Abo reaktivieren, um wieder Ereignisse zu empfangen.
So können Sie sich über ein gesperrtes Abo informieren:
- Ihre App erhält ein Lifecycle-Event zur Sperrung. Wenn Ihr Abo aufgrund eines Fehlers mit dem Endpunkt gesperrt wird, erhalten Sie möglicherweise kein Lifecycle-Event.
- Verwenden Sie die Methoden
subscriptions.getodersubscriptions.list, um zu prüfen, ob das Feldstatedes Abos aufSUSPENDEDfestgelegt ist. - Sie werden über einen Zustellungsfehler an Ihrem Benachrichtigungsendpunkt benachrichtigt. Informationen zum Überwachen von Zustellungsfehlern bei Google Cloud Pub/Sub-Themen finden Sie unter Nachrichtenfehler beheben.
Bei reaktivierten Abos bleibt das ursprüngliche Ablaufdatum erhalten. Informationen zum Verlängern der Ablaufzeit eines Abos finden Sie unter Google Workspace-Abo aktualisieren oder verlängern.
Apps Script
- Ein Google Workspace-Abo. Informationen zum Erstellen eines Abos finden Sie unter Abo erstellen.
- Ein Apps Script-Projekt:
- Verwenden Sie Ihr Google Cloud-Projekt anstelle des Standardprojekts, das automatisch von Apps Script erstellt wird.
- Für alle Bereiche, die Sie zum Konfigurieren des OAuth-Zustimmungsbildschirms hinzugefügt haben, müssen Sie die Bereiche auch der Datei
appsscript.jsonin Ihrem Apps Script-Projekt hinzufügen. Wenn Sie beispielsweise den Bereichchat.messagesangegeben haben, fügen Sie Folgendes hinzu: - Aktivieren Sie den erweiterten Dienst
Google Workspace Events.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
Erfordert die Authentifizierung und einen geeigneten Autorisierungsbereich für jeden Ereignistyp im Abo:
- Für die Nutzerauthentifizierung sind ein oder mehrere Bereiche erforderlich, die mindestens einen der Ereignistypen für das Abo unterstützen. Informationen zum Identifizieren eines Bereichs finden Sie unter Bereiche nach Ereignistyp.
- Wenn Sie als Chat-App ein Chat-Ereignis abonnieren möchten, ist eine App-Authentifizierung mit einmaliger Administratorgenehmigung erforderlich.
Python
- Python 3.6 oder höher
- Das Paketverwaltungstool pip
- Die neuesten Google-Clientbibliotheken für Python. Führen Sie den folgenden Befehl in der Befehlszeile aus, um sie zu installieren oder zu aktualisieren:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Ein Google Workspace-Abo. Informationen zum Erstellen eines Abos finden Sie unter Abo erstellen.
Erfordert die Authentifizierung und einen geeigneten Autorisierungsbereich für jeden Ereignistyp im Abo:
- Für die Nutzerauthentifizierung sind ein oder mehrere Bereiche erforderlich, die mindestens einen der Ereignistypen für das Abo unterstützen. Informationen zum Identifizieren eines Bereichs finden Sie unter Bereiche nach Ereignistyp.
- Wenn Sie als Chat-App ein Chat-Ereignis abonnieren möchten, ist eine App-Authentifizierung mit einmaliger Administratorgenehmigung erforderlich.
Fehler identifizieren und beheben
Um den Fehler für ein Abo zu ermitteln, sehen Sie sich das Feld suspensionReason des Abos an. Sie finden dieses Feld, wenn Sie ein Lifecycle-Ereignis zur Sperrung erhalten, oder wenn Sie mit der Methode subscriptions.get alle Felder für das Abo aufrufen.
In der folgenden Tabelle sind mögliche Fehler für ein Abo und, sofern möglich, die entsprechenden Lösungen aufgeführt. Wenn Sie den Fehler nicht beheben können, können Sie das Abo löschen oder warten, bis es abläuft. Mit der Google Workspace Events API werden abgelaufene Abos automatisch gelöscht.
| Fehler | Beschreibung | Möglichkeiten zur Fehlerbehebung |
|---|---|---|
|
Der autorisierende Nutzer hat die Gewährung von einem oder mehreren OAuth-Zugriffsbereichen widerrufen, die für das Abo erforderlich sind. | Rufen Sie ein anderes Zugriffstoken ab. Weitere Informationen finden Sie unter Zugriffstoken vom Google-Autorisierungsserver abrufen. |
|
Die Zielressource für das Abo wurde gelöscht. | Wenn die Ressource wiederhergestellt wird, rufen Sie die Methode reactivate auf. Andernfalls sind keine Maßnahmen erforderlich, da Sie ein Abo nicht ohne die ursprüngliche Zielressource reaktivieren können. |
|
Der autorisierende Nutzer hat keinen Zugriff mehr auf die Ressource für das Abo. | Es sind keine weiteren Schritte erforderlich. Sie können das Abo nicht reaktivieren, da der Nutzer, der es autorisiert hat, nicht auf die Zielressource zugreifen kann. |
|
Die Google Workspace-Anwendung hat keinen Zugriff, um Ereignisse an Ihren Benachrichtigungsendpunkt zu senden. | Gewähren Sie dem Dienstkonto Zugriff für die Google Workspace-Anwendung, die Ereignisse bereitstellt. Dienstkonten:
Weisen Sie dem Dienstkonto für Pub/Sub-Themen die Rolle Pub/Sub Publisher ( roles/pubsub.publisher)
) zu. |
|
Der Benachrichtigungsendpunkt ist nicht vorhanden oder kann nicht gefunden werden. | Prüfen Sie, ob der Endpunkt noch aktiv ist und funktioniert. Informationen zur Fehlerbehebung bei Pub/Sub-Themen finden Sie hier. |
|
Der Benachrichtigungsendpunkt konnte aufgrund von unzureichendem Kontingent oder Ratenbegrenzung keine Ereignisse empfangen. | Fordern Sie eine Kontingenterhöhung an. |
|
Der Domainadministrator hat die Erteilung von mindestens einem OAuth-Bereich für die Chat App widerrufen. | Administratorgenehmigung erhalten |
|
Die Chat-App, die die Erstellung des Abos autorisiert hat, hat keinen Zugriff mehr auf die Zielressource des Abos. | Sie müssen den Zugriff auf die Zielressource wiedererlangen. Wenn die Zielressource beispielsweise ein Chatbereich ist, benötigt die Chat-App möglicherweise eine Mitgliedschaft im Bereich. |
Abo reaktivieren
Nachdem Sie den Fehler behoben haben, der zur Sperrung Ihres Abos geführt hat, können Sie mit der Methode reactivate dafür sorgen, dass das Abo wieder Ereignisse empfängt. Die Methode prüft, ob alle Fehler behoben wurden, und ändert das Feld state Ihres Abos von SUSPENDED zu ACTIVE.
So reaktivieren Sie ein Google Workspace-Abo:
Apps Script
Erstellen Sie in Ihrem Apps Script-Projekt eine neue Skriptdatei mit dem Namen
reactivateSubscriptionund fügen Sie den folgenden Code hinzu: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); }Ersetzen Sie Folgendes:
Führen Sie die Funktion
reactivateSubscriptionin Ihrem Apps Script-Projekt aus, um das Google Workspace-Abo zu reaktivieren.
Python
Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
reactivate_subscription.pyund fügen Sie den folgenden Code hinzu:"""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('credentials.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)Ersetzen Sie Folgendes:
SCOPES: Ein oder mehrere OAuth-Bereiche, die jeden Ereignistyp für das Abo unterstützen. Als Array von Strings formatiert. Wenn Sie mehrere Bereiche angeben möchten, trennen Sie sie durch Kommas. Beispiel:'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'SUBSCRIPTION_ID: Die ID des Abos. Sie haben folgende Möglichkeiten, die ID abzurufen:
Achten Sie darauf, dass Sie die Anmeldedaten für die OAuth-Client-ID in Ihrem Arbeitsverzeichnis gespeichert und die Datei
credentials.jsongenannt haben. Im Codebeispiel wird diese JSON-Datei verwendet, um sich bei Google Workspace zu authentifizieren und Nutzeranmeldedaten abzurufen. Eine Anleitung finden Sie unter Anmeldedaten mit OAuth 2.0-Client-ID erstellen.Führen Sie zum Reaktivieren des Google Workspace-Abos Folgendes in Ihrem Terminal aus:
python3 reactivate_subscription.py
Subscription-Ressource enthält.
Wenn die Anfrage fehlschlägt, finden Sie im folgenden Abschnitt Informationen zur Fehlerbehebung.
Abo als Chat-App reaktivieren
Sie können ein Abo für Chat-Ereignisse als Chat-App anstelle eines Nutzers reaktivieren. Der Vorgang ist ähnlich, mit folgenden Ausnahmen:
Statt der Nutzerauthentifizierung authentifizieren Sie sich als Chat-App mit einmaliger Administratorgenehmigung.
Geben Sie Autorisierungsbereiche an, die es der Chat-App ermöglichen, Chat-Ereignisse zu abonnieren. Diese Autorisierungsbereiche beginnen immer mit
chat.appund umfassen Folgendes:https://www.googleapis.com/auth/chat.app.memberships: Abonnieren Sie Ereignisse von Mitgliedern des Chatbereichs.https://www.googleapis.com/auth/chat.app.memberships.readonly: Abonnieren Sie Ereignisse von Mitgliedern des Chatbereichs.https://www.googleapis.com/auth/chat.app.messages.readonly: Abonnieren Sie Nachrichten- und Reaktionsevents in Chatbereichen.https://www.googleapis.com/auth/chat.app.spaces: Chatbereich-Ereignisse abonnieren.https://www.googleapis.com/auth/chat.app.spaces.readonly: Chatbereich-Ereignisse abonnieren.
Script schreiben, das die Google Workspace Events API aufruft
Im folgenden Codebeispiel wird das Google Workspace-Abo einer Chat-App reaktiviert:
Python
"""Reactivate 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,
)
NAME = 'subscriptions/SUBSCRIPTION_ID'
response = service.subscriptions().reactivate(name=NAME).execute()
print(response)
Ersetzen Sie Folgendes:
SCOPES: Geben Sie Autorisierungsbereiche an, mit denen die Chat-App Chat-Ereignisse abonnieren kann. Diese Autorisierungsbereiche beginnen immer mitchat.appund umfassen Folgendes:https://www.googleapis.com/auth/chat.app.memberships: Abonnieren Sie Ereignisse von Mitgliedern des Chatbereichs.https://www.googleapis.com/auth/chat.app.memberships.readonly: Abonnieren Sie Ereignisse von Mitgliedern des Chatbereichs.https://www.googleapis.com/auth/chat.app.messages.readonly: Abonnieren Sie Nachrichten- und Reaktionsevents in Chatbereichen.https://www.googleapis.com/auth/chat.app.spaces: Chatbereich-Ereignisse abonnieren.https://www.googleapis.com/auth/chat.app.spaces.readonly: Chatbereich-Ereignisse abonnieren.
SUBSCRIPTION_ID: Die ID des Abos. Sie haben folgende Möglichkeiten, die ID zu ermitteln:
Mehrere Fehler beheben
Wenn Sie den Fehler behoben haben, der zur Sperrung des Abos geführt hat, und die reactivate-Methode fehlschlägt, ist möglicherweise nach der Sperrung des Abos ein weiterer Fehler aufgetreten.
Sehen Sie sich die Ausgabe der fehlgeschlagenen Anfrage an, um weitere Fehler zu identifizieren. Die Ausgabe enthält alle Fehler, die noch vorhanden sind.
Wenn Ihr Abo mehrere Fehler enthält, wird für das Feld suspensionReason immer der ursprüngliche Fehler verwendet, der zur Sperrung Ihres Abos geführt hat.