Fehler beheben und Google Workspace-Abo wieder aktivieren

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() oder subscriptions.list() kannst du feststellen, ob das Feld state des Abos auf SUSPENDED 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 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
      

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

USER_SCOPE_REVOKED

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.

RESOURCE_DELETED

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.

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 wieder aktivieren, da der autorisierte Nutzer 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 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.

ENDPOINT_NOT_FOUND

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.

ENDPOINT_RESOURCE_EXHAUSTED

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

  1. 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:

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

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: 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:
      • Der Wert des Felds uid.
      • Die ID des Ressourcennamens, der im Feld name dargestellt wird. Lautet der Ressourcenname beispielsweise subscriptions/subscription-123, verwenden Sie subscription-123.
  2. 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.

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

    python3 reactivate_subscription.py
    
Die Google Workspace Events API gibt einen lang andauernden Vorgang zurück, der die Instanz der Ressource 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.