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 erhalten.

So erfahren Sie, ob Ihr Abo gesperrt wurde:

  • Ihre App erhält ein Lebenszyklusereignis über die Sperrung. Wenn Ihr Abo aufgrund eines Fehlers beim Endpunkt gesperrt wurde, 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.

Für reaktivierte Abos gilt das ursprüngliche 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

Informationen zum Fehler für ein Abo finden Sie im Feld suspensionReason des Abos. Dieses Feld wird angezeigt, wenn du ein Lebenszyklusereignis zur Sperrung erhältst. Du kannst es auch mit der Methode subscriptions.get() aufrufen, 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 wurde, rufe 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 dem Dienstkonto für Pub/Sub-Themen die Rolle Pub/Sub-Publisher (roles/pubsub.publisher) ) 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 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. Dabei wird geprüft, ob alle Fehler behoben sind, und das Feld state des 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. Achten Sie darauf, dass Sie Ihre Anmeldedaten für die OAuth-Client-ID in Ihrem Arbeitsverzeichnis gespeichert und die Datei client_secrets.json genannt haben. 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 den folgenden Befehl aus, um das Google Workspace-Abo zu reaktivieren:

    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 zur Fehlerbehebung.

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.