Auf dieser Seite wird erläutert, wie Sie ein gesperrtes Google Workspace-Abo reaktivieren, indem Sie Fehler beheben oder beheben und die Methode subscriptions.reactivate()
aufrufen.
Google Workspace-Abos werden gesperrt, wenn ein Fehler verhindert, dass das Abo Ereignisse empfängt. Beispielsweise wird ein Abo gesperrt, wenn seine Zielressource oder der Benachrichtigungsendpunkt nicht gefunden werden kann. Nachdem Sie alle Fehler mit dem Abo behoben haben, können Sie das Abo reaktivieren und wieder Ereignisse empfangen.
So können Sie sich über ein gesperrtes Abo informieren:
- Ihre App erhält ein Lebenszyklusereignis wegen der Sperrung. Wenn Ihr Abo aufgrund eines Fehlers mit dem Endpunkt gesperrt wurde, erhalten Sie möglicherweise kein Lebenszyklus-Ereignis.
- Mit der Methode
subscriptions.get()
odersubscriptions.list()
kannst du feststellen, ob das Feldstate
des Abos aufSUSPENDED
gesetzt ist. - Sie werden über einen Fehler bei der Zustellung an Ihren Benachrichtigungsendpunkt benachrichtigt. Informationen zum Überwachen von Zustellungsfehlern an Google Cloud Pub/Sub-Themen finden Sie unter Umgang mit Nachrichtenfehlern.
Reaktivierte Abos behalten das ursprüngliche Ablaufdatum. Wie Sie die Ablaufzeit eines Abos verlängern, erfahren Sie unter Abo aktualisieren oder verlängern.
Apps Script
- Ein Google Workspace-Abo. Informationen zum Erstellen eines Abos findest du unter Abo erstellen.
Erfordert eine Nutzerauthentifizierung mit einem oder mehreren Bereichen, die alle Ereignistypen für das Abo unterstützen.
- Ein Apps Script-Projekt:
- Verwenden Sie Ihr Google Cloud-Projekt anstelle des von Apps Script automatisch erstellten Standardprojekts.
- Für alle Bereiche, die Sie zum Konfigurieren des OAuth-Zustimmungsbildschirms hinzugefügt haben, müssen Sie die Bereiche auch der Datei
appsscript.json
in Ihrem Apps Script-Projekt hinzufügen. Beispiel:
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
- Aktivieren Sie den erweiterten Dienst
Google Workspace Events
.
Python
- Python 3.6 oder höher
- Das Paketverwaltungstool pip
- Die aktuellen 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 findest du unter Abo erstellen.
Erfordert eine Nutzerauthentifizierung mit einem oder mehreren Bereichen, die alle Ereignistypen für das Abo unterstützen.
Fehler erkennen und beheben
Sieh dir das Feld suspensionReason
des Abos an, um den Fehler für ein Abo zu ermitteln. Sie finden dieses Feld, wenn Sie ein Lebenszyklusereignis wegen der Sperrung erhalten. Sie können auch mit der Methode subscriptions.get()
alle Felder für das Abo überprüfen.
In der folgenden Tabelle finden Sie mögliche Fehler für ein Abo und erfahren, wie Sie sie beheben können. Wenn Sie den Fehler nicht beheben können, haben Sie die Möglichkeit, das Abo zu löschen oder zu warten, bis es abläuft. Die Google Workspace Events API löscht abgelaufene Abos automatisch.
Fehler | Beschreibung | Lösungsmöglichkeiten |
---|---|---|
|
Der autorisierende Nutzer hat die Erteilung eines oder mehrerer OAuth-Bereiche widerrufen, die für das Abo erforderlich sind. | Fordern Sie ein weiteres Zugriffstoken an. Weitere Informationen finden Sie unter Zugriffstoken vom Google-Autorisierungsserver abrufen. |
|
Die Zielressource für das Abo wird gelöscht. | Wenn die Ressource wiederhergestellt wurde, rufen Sie die Methode reactivate() auf. Andernfalls müssen Sie nichts weiter tun, da Sie ein Abo ohne seine ursprüngliche Zielressource nicht wieder aktivieren 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 wieder aktivieren, da der autorisierte Nutzer nicht auf die Zielressource zugreifen kann. |
|
Die Google Workspace-Anwendung hat keinen Zugriff, um Ereignisse an Ihren Benachrichtigungsendpunkt zu senden. | Gewähren Sie Zugriff auf das Dienstkonto für die Google Workspace-Anwendung, die Ereignisse sendet. Für Google Chat-Ereignisse ist das Dienstkonto chat-api-push@system.gserviceaccount.com . Für Google Meet-Ereignisse ist das Dienstkonto meet-api-event-push@system.gserviceaccount.com .Weisen Sie für Pub/Sub-Themen dem Dienstkonto die Rolle Pub/Sub-Publisher ( roles/pubsub.publisher)
) zu. |
|
Der Benachrichtigungsendpunkt ist nicht vorhanden oder wurde nicht gefunden. | 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. |
|
Am Benachrichtigungsendpunkt konnten aufgrund eines unzureichenden Kontingents oder des Erreichens der Ratenbegrenzung keine Ereignisse empfangen. | Fordern Sie eine Kontingenterhöhung an. |
Abo reaktivieren
Nachdem Sie den Fehler behoben haben, durch den Ihr Abo gesperrt wurde, können Sie mit der Methode reactivate()
wieder Ereignisse für das Abo empfangen lassen. Die Methode prüft, ob alle Fehler behoben wurden, und ändert das Feld state
des Abos von SUSPENDED
in ACTIVE
.
So aktivieren Sie ein Google Workspace-Abo wieder:
Apps Script
Erstellen Sie in Ihrem Apps Script-Projekt eine neue Skriptdatei mit dem Namen
reactivateSubscription
und 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:
Wenn Sie das Google Workspace-Abo wieder aktivieren möchten, führen Sie in Ihrem Apps Script-Projekt die Funktion
reactivateSubscription
aus.
Python
Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
reactivate_subscription.py
und 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('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)
Ersetzen Sie Folgendes:
SCOPES
: Ein oder mehrere OAuth-Bereiche, die jeden Ereignistyp für das Abo unterstützen. Formatiert als String-Array. Trennen Sie mehrere Bereiche 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. Zum Abrufen der ID haben Sie folgende Möglichkeiten:
Achten Sie in Ihrem Arbeitsverzeichnis darauf, dass Sie Ihre OAuth-Client-ID-Anmeldedaten gespeichert und die Datei
client_secrets.json
genannt haben. Im Codebeispiel wird diese JSON-Datei zur Authentifizierung bei Google Workspace und zum Abrufen von Nutzeranmeldedaten verwendet. Eine Anleitung findest du unter Anmeldedaten mit OAuth-Client-ID erstellen.Führen Sie auf Ihrem Terminal folgenden Befehl aus, um das Google Workspace-Abo wieder zu aktivieren:
python3 reactivate_subscription.py
Subscription
enthält.
Wenn die Anfrage fehlschlägt, lesen Sie den folgenden Abschnitt, um weitere Fehler zu beheben.
Mehrere Fehler beheben
Wenn Sie den Fehler behoben haben, durch den das Abo gesperrt wurde, und die Methode reactivate()
fehlgeschlagen ist, ist nach der Sperrung Ihres Abos möglicherweise ein weiterer Fehler aufgetreten.
Sehen Sie sich die Ausgabe der fehlgeschlagenen Anfrage an, um weitere Fehler zu finden. Die Ausgabe enthält alle Fehler, die noch vorhanden sind.
Wenn Ihr Abo mehrere Fehler aufweist, verwendet der Wert für das Feld suspensionReason
immer den ursprünglichen Fehler, der zur Sperrung Ihres Abos geführt hat.