Auf dieser Seite wird erklärt, wie Sie ein gesperrtes Google Workspace
Abo reaktivieren, indem Sie Fehler beheben und die
subscriptions.reactivate
Methode aufrufen.
Google Workspace-Abos werden gesperrt, wenn ein Fehler verhindert, dass das Abo Ereignisse empfängt. Ein Abo wird beispielsweise gesperrt, wenn die Zielressource oder der Benachrichtigungsendpunkt nicht gefunden werden kann. Nachdem Sie alle Fehler im Zusammenhang mit dem Abo behoben haben, können Sie es reaktivieren, um wieder Ereignisse zu empfangen.
Informationen zu einem gesperrten Abo erhalten Sie auf folgende Weise:
- Ihre App empfängt ein Lebenszyklusereignis zur Sperrung. Wenn Ihr Abo aufgrund eines Fehlers mit dem Endpunkt gesperrt wurde, erhalten Sie möglicherweise kein Lebenszyklusereignis.
- Verwenden Sie die Methoden
subscriptions.getodersubscriptions.list, um zu prüfen, ob das Feldstatedes Abos aufSUSPENDEDgesetzt ist. - Sie werden über einen Zustellfehler an Ihrem Benachrichtigungsendpunkt benachrichtigt. Informationen zum Überwachen von Zustellfehlern an Google Cloud Pub/Sub-Themen finden Sie unter Nachrichtenfehler beheben.
Reaktivierte Abos behalten das ursprüngliche Ablaufdatum bei. 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
appsscript.jsonDatei in Ihrem Apps Script-Projekt hinzufügen. Wenn Sie beispielsweise den Bereichchat.messagesangegeben haben, fügen Sie Folgendes hinzu: - Aktivieren
Sie den
Google Workspace Eventserweiterten Dienst.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
Erfordert die Authentifizierung und einen entsprechenden 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.
- Für das Abonnieren eines Chat-Ereignisses als Chat-App 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 Befehlszeilenschnittstelle 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 entsprechenden 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.
- Für das Abonnieren eines Chat-Ereignisses als Chat-App ist eine App-Authentifizierung mit einmaliger Administratorgenehmigung erforderlich.
Fehler erkennen und beheben
Um den Fehler für ein Abo zu ermitteln, prüfen Sie das Feld suspensionReason des Abos. Sie finden dieses Feld, wenn Sie ein Lebenszyklus
Ereignis zur
Sperrung erhalten oder wenn Sie mit
der subscriptions.get Methode alle Felder für das Abo prüfen.
In der folgenden Tabelle sind mögliche Fehler für ein Abo und, wenn möglich, die Behebung der Fehler aufgeführt. Wenn Sie den Fehler nicht beheben können, können Sie das Abo löschen oder warten, bis es abläuft. Die Google Workspace Events API löscht abgelaufene Abos automatisch.
| Fehler | Beschreibung | Mögliche Lösungen |
|---|---|---|
|
Der autorisierende Nutzer hat die Berechtigung für einen oder mehrere OAuth-Bereiche 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 reactivate
Methode 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 sendet. Service accounts:
Gewähren Sie für Pub/Sub-Themen dem Dienstkonto die Rolle „Pub/Sub-Publisher“ ( roles/pubsub.publisher)
. |
|
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 in der Dokumentation zur Fehlerbehebung. |
|
Der Benachrichtigungsendpunkt konnte aufgrund eines unzureichenden Kontingents oder einer Ratenbegrenzung keine Ereignisse empfangen. | Fordern Sie eine Kontingenterhöhung an. |
|
Der Domainadministrator hat die Berechtigung für einen oder mehrere OAuth-Bereiche für die Chat-App widerrufen. | Lassen Sie sich die Berechtigung vom Administrator erteilen. |
|
Die Chat-App, die die Erstellung des Abos autorisiert hat, hat keinen Zugriff mehr auf die Zielressource des Abos. | Gewinnen Sie den Zugriff auf die Zielressource zurück. Wenn die Zielressource beispielsweise ein Chatbereich ist, muss die Chat-App möglicherweise Mitglied des Bereichs sein. |
Abo reaktivieren
Nachdem Sie den Fehler behoben haben, der zur Sperrung Ihres Abos geführt hat, verwenden Sie die Methode reactivate, damit das Abo wieder Ereignisse empfangen kann. Die Methode prüft, ob alle Fehler behoben wurden, und ändert das Feld state Ihres Abos von SUSPENDED in 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 auflisten 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 können die ID auf eine der folgenden Arten abrufen:
Achten Sie darauf, dass Sie die OAuth-Client-ID Anmeldedaten in Ihrem Arbeitsverzeichnis gespeichert und die Datei
credentials.jsongenannt haben. Das Codebeispiel verwendet diese JSON Datei, um sich bei Google Workspace zu authentifizieren und Nutzeranmeldedaten abzurufen. Eine Anleitung finden Sie unter Anmeldedaten mit OAuth-Client-ID erstellen.Führen Sie Folgendes im Terminal aus, um das Google Workspace-Abo zu reaktivieren:
python3 reactivate_subscription.py
Subscription Ressource enthält.
Wenn die Anfrage fehlschlägt, finden Sie im folgenden Abschnitt Informationen zur Fehlerbehebung bei weiteren Fehlern.
Abo als Chat-App reaktivieren
Sie können ein Abo für Chat-Ereignisse als Chat-App und nicht als Nutzer reaktivieren. Der Vorgang ist ähnlich, mit folgenden Ausnahmen:
Authentifizieren Sie sich anstelle der Nutzerauthentifizierung, als Chat-App mit einmaliger Administratorgenehmigung.
Geben Sie Autorisierungsbereiche an, mit denen die Chat-App Chat-Ereignisse abonnieren kann. Diese Autorisierungsbereiche beginnen immer mit
chat.appund umfassen Folgendes:https://www.googleapis.com/auth/chat.app.memberships: Ereignisse für Mitglieder von Chatbereichen abonnieren.https://www.googleapis.com/auth/chat.app.memberships.readonly: Ereignisse für Mitglieder von Chatbereichen abonnieren.https://www.googleapis.com/auth/chat.app.messages.readonly: Ereignisse für Nachrichten und Reaktionen in Chatbereichen abonnieren.https://www.googleapis.com/auth/chat.app.spaces: Ereignisse für Chatbereiche abonnieren.https://www.googleapis.com/auth/chat.app.spaces.readonly: Ereignisse für Chatbereiche abonnieren.
Skript schreiben, das die Google Workspace Events API aufruft
Das folgende Codebeispiel reaktiviert das Google Workspace-Abo einer Chat-App:
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: Ereignisse für Mitglieder von Chatbereichen abonnieren.https://www.googleapis.com/auth/chat.app.memberships.readonly: Ereignisse für Mitglieder von Chatbereichen abonnieren.https://www.googleapis.com/auth/chat.app.messages.readonly: Ereignisse für Nachrichten und Reaktionen in Chatbereichen abonnieren.https://www.googleapis.com/auth/chat.app.spaces: Ereignisse für Chatbereiche abonnieren.https://www.googleapis.com/auth/chat.app.spaces.readonly: Ereignisse für Chatbereiche abonnieren.
SUBSCRIPTION_ID: Die ID des Abos. Sie können die ID auf eine der folgenden Arten abrufen:
Fehlerbehebung bei mehreren Fehlern
Wenn Sie den Fehler behoben haben, der zur Sperrung des Abos geführt hat, und die Methode reactivate fehlschlägt, ist möglicherweise ein weiterer Fehler aufgetreten, nachdem Ihr Abo gesperrt wurde.
Prüfen Sie die Ausgabe der fehlgeschlagenen Anfrage, um weitere Fehler zu ermitteln. Die Ausgabe enthält alle noch vorhandenen Fehler.
Wenn Ihr Abo mehrere Fehler aufweist, wird für das Feld suspensionReason immer der ursprüngliche Fehler verwendet, der zur Sperrung des Abos geführt hat.