Fehler beheben und Google Workspace-Abo wieder aktivieren

Auf dieser Seite wird beschrieben, wie Sie ein in der Schwebe befindliches Google Workspace-Abo reaktivieren, indem Sie Fehler beheben oder beheben lassen 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 ausgesetzt, wenn die Zielressource oder der Benachrichtigungsendpunkt nicht gefunden werden kann. Nachdem Sie alle Fehler behoben haben, können Sie das Abo reaktivieren, um wieder Ereignisse zu empfangen.

So erfahren Sie, ob Ihr Abo gesperrt wurde:

  • Ihre App erhält ein Lebenszyklusereignis zur Sperrung. Wenn Ihr Abo aufgrund eines Fehlers beim Endpunkt gesperrt wird, erhalten Sie möglicherweise kein Lebenszyklusereignis.
  • Mit den Methoden subscriptions.get() oder subscriptions.list() kannst du prüfen, ob das Feld state des Abos auf SUSPENDED gesetzt ist.
  • Sie werden über einen Zustellungsfehler an Ihrem Benachrichtigungsendpunkt benachrichtigt. Informationen zum Überwachen von Übermittlungsfehlern an Google Cloud Pub/Sub-Themen finden Sie unter Fehler bei Nachrichten beheben.

Reaktivierte Abos behalten ihr ursprüngliches Ablaufdatum. Wie Sie die Ablaufzeit eines Abos verlängern, erfahren Sie unter Abo aktualisieren oder verlängern.

Apps Script

  • Ein Apps Script-Projekt:
    • Verwenden Sie Ihr Google Cloud-Projekt anstelle des automatisch von Apps Script erstellten Standardprojekts.
    • Alle Bereiche, die Sie zum Konfigurieren des OAuth-Zustimmungsbildschirms hinzugefügt haben, müssen Sie 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 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
      

Fehler identifizieren und beheben

Sehen Sie im Feld suspensionReason des Abos nach, um den Fehler zu ermitteln. Sie finden dieses Feld, wenn Sie ein Lebenszyklusereignis zur Sperrung erhalten. Sie können auch die Methode subscriptions.get() verwenden, um alle Felder für das Abo zu prüfen.

In der folgenden Tabelle sind mögliche Fehler für ein Abo und, sofern möglich, deren Behebung 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

USER_SCOPE_REVOKED

Der autorisierende Nutzer hat die Gewährung einer oder mehrerer OAuth-Bereiche widerrufen, die für das Abo erforderlich sind. Holen Sie sich ein neues Zugriffstoken. Weitere Informationen finden Sie unter Zugriffstoken vom Google Authorization Server abrufen.

RESOURCE_DELETED

Die Zielressource für das Abo wird gelöscht. Wenn die Ressource wiederhergestellt wird, rufen Sie die Methode reactivate() auf. Andernfalls sind keine Maßnahmen erforderlich, da ein Abo ohne die ursprüngliche Zielressource nicht reaktiviert werden kann.

USER_AUTHORIZATION_FAILURE

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.

ENDPOINT_PERMISSION_DENIED

Die Google Workspace-Anwendung hat keinen Zugriff, um Ereignisse an Ihren Benachrichtigungsendpunkt zu senden. Gewähren Sie dem Dienstkonto der Google Workspace-Anwendung, die Ereignisse liefert, Zugriff.

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 die Rolle Pub/Sub-Publisher (roles/pubsub.publisher) dem Dienstkonto) zu.

ENDPOINT_NOT_FOUND

Der Benachrichtigungsendpunkt ist nicht vorhanden oder kann nicht gefunden werden. Prüfen Sie, ob der Endpunkt noch aktiv und funktionsfähig ist. Informationen zur Fehlerbehebung bei Pub/Sub-Themen findest du in der Fehlerbehebungsdokumentation.

ENDPOINT_RESOURCE_EXHAUSTED

Der Benachrichtigungsendpunkt konnte keine Ereignisse empfangen, da das Kontingent nicht ausreicht oder die Ratenbegrenzung erreicht wurde. Fordern Sie eine Kontingenterhöhung an.

Abo reaktivieren

Nachdem du den Fehler behoben hast, durch den das Abo gesperrt wurde, kannst du die Methode reactivate() verwenden, damit das Abo wieder Ereignisse empfangen kann. Dabei wird geprüft, ob alle Fehler behoben sind, und das Feld state deines Abos von SUSPENDED in ACTIVE geändert.

So reaktivieren Sie ein Google Workspace-Abo:

Apps Script

  1. Erstellen Sie in Ihrem Apps Script-Projekt eine neue Scriptdatei 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:

    • SUBSCRIPTION_ID: Die ID des Abos. Sie haben folgende Möglichkeiten, die ID abzurufen:
      • Der Wert des Felds uid.
      • Die ID des Ressourcennamens, der im Feld name dargestellt ist. Wenn der Ressourcenname beispielsweise subscriptions/subscription-123 lautet, verwenden Sie subscription-123.
  2. Führen Sie die Funktion reactivateSubscription in Ihrem Apps Script-Projekt aus, um das Google Workspace-Abo wieder zu aktivieren.

Python

  1. 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: Einer 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:
      • Der Wert des Felds uid.
      • Die ID des Ressourcennamens, der im Feld name dargestellt ist. Wenn der Ressourcenname beispielsweise subscriptions/subscription-123 lautet, verwenden Sie subscription-123.
  2. Speichern Sie in Ihrem Arbeitsverzeichnis Ihre OAuth-Client-ID-Anmeldedaten und nennen Sie die Datei client_secrets.json. Im Codebeispiel wird diese JSON-Datei verwendet, um sich bei Google Workspace zu authentifizieren und Nutzeranmeldedaten abzurufen. Eine Anleitung dazu finden Sie unter Anmeldedaten mit OAuth-Client-ID erstellen.

  3. Führen Sie in Ihrem Terminal folgenden Befehl aus, um das Google Workspace-Abo wieder zu aktivieren:

    python3 reactivate_subscription.py
Die Google Workspace Events API gibt einen Vorgang mit langer Ausführungszeit zurück, der die Instanz der Subscription-Ressource enthält.

Wenn die Anfrage fehlschlägt, lesen Sie den folgenden Abschnitt, um weitere Fehler zu beheben.

Fehlerbehebung bei mehreren Fehlern

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.

Prüfen Sie die Ausgabe der fehlgeschlagenen Anfrage, um weitere Fehler zu identifizieren. Die Ausgabe enthält alle noch vorhandenen Fehler.

Wenn für dein Abo mehrere Fehler vorliegen, wird für den Wert des Felds suspensionReason immer der ursprüngliche Fehler verwendet, aufgrund dessen dein Abo gesperrt wurde.