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 Fehlerbehebung durchführen 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 angehalten, wenn die Zielressource oder der Benachrichtigungsendpunkt nicht gefunden werden kann. Nachdem Sie alle Fehler im Zusammenhang mit dem Abo behoben haben, können Sie das Abo reaktivieren, um wieder Ereignisse zu empfangen.

So können Sie sich über ein gesperrtes Abo informieren:

  • Ihre App erhält ein Lebenszyklusereignis zur Sperrung. Wenn Ihr Abo aufgrund eines Fehlers mit dem Endpunkt gesperrt wird, erhalten Sie möglicherweise kein Lebenszyklus-Ereignis.
  • Mit den Methoden subscriptions.get oder subscriptions.list können Sie 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 Zustellungsfehlern bei Google Cloud Pub/Sub-Themen finden Sie unter Nachrichtenfehler beheben.

Bei reaktivierten Abos wird das ursprüngliche Ablaufdatum beibehalten. 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 Datei appsscript.json in Ihrem Apps Script-Projekt hinzufügen. Wenn Sie beispielsweise den Bereich chat.messages angegeben haben, fügen Sie Folgendes hinzu:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages"
      ]
          
    • 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

Um den Fehler für ein Abo zu ermitteln, sehen Sie sich das Feld suspensionReason des Abos an. Sie finden dieses Feld, wenn Sie ein Lebenszyklusereignis zur Sperrung erhalten, oder indem Sie mit der Methode subscriptions.get alle Felder für das Abo aufrufen.

In der folgenden Tabelle sind mögliche Fehler für ein Abo und, sofern möglich, die entsprechenden Lösungen aufgeführt. Wenn Sie den Fehler nicht beheben können, können Sie das Abo löschen oder warten, bis es abläuft. Mit der Google Workspace Events API werden abgelaufene Abos automatisch gelöscht.

Fehler Beschreibung Möglichkeiten zur Fehlerbehebung

USER_SCOPE_REVOKED

Der autorisierende Nutzer hat die Gewährung von einem oder mehreren OAuth-Bereichen widerrufen, die für das Abo erforderlich sind. Rufen Sie ein anderes Zugriffstoken ab. Weitere Informationen finden Sie unter Zugriffstoken vom Google-Autorisierungsserver abrufen.

RESOURCE_DELETED

Die Zielressource für das Abo wurde gelöscht. Wenn die Ressource wiederhergestellt wird, rufen Sie die Methode reactivate auf. Andernfalls sind keine Maßnahmen erforderlich, da Sie ein Abo nicht ohne die ursprüngliche Zielressource reaktivieren 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 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 Zugriff auf das Dienstkonto für die Google Workspace-Anwendung, die Ereignisse bereitstellt.

Dienstkonten:
  • Google Chat-Ereignisse: chat-api-push@system.gserviceaccount.com
  • Google Drive-Ereignisse: drive-api-event-push@system.gserviceaccount.com
  • Google Meet-Termine: 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 ist und funktioniert. Informationen zur Fehlerbehebung bei Pub/Sub-Themen finden Sie hier.

ENDPOINT_RESOURCE_EXHAUSTED

Der Benachrichtigungsendpunkt konnte aufgrund von unzureichendem Kontingent oder Erreichen der Ratenbegrenzung keine Ereignisse empfangen. Fordern Sie eine Kontingenterhöhung an.

APP_SCOPE_REVOKED

Der Domainadministrator hat die Erteilung von mindestens einem OAuth-Bereich für die Chat App widerrufen. Genehmigung des Administrators erhalten.

APP_AUTHORIZATION_FAILURE

Die Chat-App, die die Erstellung des Abos autorisiert hat, hat keinen Zugriff mehr auf die Zielressource des Abos. Sie müssen den Zugriff auf die Zielressource wiederherstellen. 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, können Sie mit der Methode reactivate dafür sorgen, dass das Abo wieder Ereignisse empfängt. Die Methode prüft, ob alle Fehler behoben wurden, und ändert das Feld state Ihres Abos von SUSPENDED zu ACTIVE.

So reaktivieren Sie ein Google Workspace-Abo:

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. Sie haben folgende Möglichkeiten, die ID abzurufen:
      • Der Wert des Felds uid.
      • Die ID des Ressourcennamens, der im Feld name dargestellt wird. Wenn der Ressourcenname beispielsweise subscriptions/subscription-123 lautet, verwenden Sie subscription-123.
  2. Wenn Sie das Google Workspace-Abo reaktivieren möchten, führen Sie die Funktion reactivateSubscription in Ihrem Apps Script-Projekt 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('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 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 wird. Wenn der Ressourcenname beispielsweise subscriptions/subscription-123 lautet, verwenden Sie subscription-123.
  2. Achten Sie darauf, dass Sie die Anmeldedaten für die OAuth-Client-ID in Ihrem Arbeitsverzeichnis gespeichert und die Datei credentials.json genannt haben. Im Codebeispiel wird diese JSON-Datei verwendet, um sich bei Google Workspace zu authentifizieren und Nutzeranmeldedaten abzurufen. Eine Anleitung finden Sie unter Anmeldedaten mit OAuth 2.0-Client-ID erstellen.

  3. Führen Sie zum Reaktivieren des Google Workspace-Abos Folgendes in Ihrem Terminal aus:

    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, finden Sie im folgenden Abschnitt Informationen zur Fehlerbehebung.

Abo als Google Chat-App reaktivieren

Sie können ein Abo für Chat-Ereignisse als Chat-App anstelle eines Nutzers reaktivieren. Der Vorgang ist ähnlich, mit folgenden Ausnahmen:

  1. Statt der Nutzerauthentifizierung authentifizieren Sie sich als Chat-App mit einmaliger Administratorgenehmigung.

  2. Geben Sie Autorisierungsbereiche an, die es der Chat-App ermöglichen, Chat-Ereignisse zu abonnieren. Diese Autorisierungsbereiche beginnen immer mit chat.app und umfassen Folgendes:

    • https://www.googleapis.com/auth/chat.app.memberships: Ereignisse von Chatbereichsmitgliedern abonnieren.
    • https://www.googleapis.com/auth/chat.app.messages.readonly: Abonnieren Sie Nachrichten- und Reaktionsevents in Chatbereichen.
    • https://www.googleapis.com/auth/chat.app.spaces: Chatbereich-Ereignisse abonnieren.

API-Schlüssel erstellen

Wenn Sie eine Developer Preview API-Methode aufrufen möchten, müssen Sie eine nicht öffentliche Developer Preview-Version des API-Erkennungsdokuments verwenden. Zur Authentifizierung der Anfrage müssen Sie einen API-Schlüssel übergeben.

So erstellen Sie den API-Schlüssel: Öffnen Sie das Google Cloud-Projekt Ihrer App und gehen Sie so vor:

  1. Rufen Sie in der Google Cloud Console das Menü  > APIs und Dienste > Anmeldedaten auf.

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen > API-Schlüssel.
  3. Der neue API-Schlüssel wird angezeigt.
    • Klicken Sie auf „Kopieren“ , um den API-Schlüssel zu kopieren und im Code Ihrer App zu verwenden. Der API-Schlüssel ist auch im Bereich „API-Schlüssel“ der Anmeldedaten Ihres Projekts zu finden.
    • Damit eine nicht autorisierte Verwendung verhindert wird, sollten Sie einschränken, wo und für welche APIs der API-Schlüssel verwendet werden kann. Weitere Informationen finden Sie unter API-Einschränkungen hinzufügen.

Script schreiben, das die Google Workspace Events API aufruft

Im folgenden Codebeispiel wird das Google Workspace-Abo einer Chat-App reaktiviert:

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,
      discoveryServiceUrl='https://workspaceevents.googleapis.com/$discovery/rest?version=v1beta&labels=DEVELOPER_PREVIEW&key=API_KEY',
  )

  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 mit chat.app und umfassen Folgendes:

    • https://www.googleapis.com/auth/chat.app.memberships: Ereignisse von Chatbereichsmitgliedern abonnieren.
    • https://www.googleapis.com/auth/chat.app.messages.readonly: Abonnieren Sie Nachrichten- und Reaktionsevents in Chatbereichen.
    • https://www.googleapis.com/auth/chat.app.spaces: Chatbereich-Ereignisse abonnieren.
  • API_KEY: Der API-Schlüssel, den Sie zum Erstellen des Dienstendpunkts für die Google Workspace Events API erstellt haben.

  • SUBSCRIPTION_ID: Die ID des Abos. Sie haben folgende Möglichkeiten, die ID zu ermitteln:

    • Der Wert des Felds uid.
    • Die ID des Ressourcennamens, der im Feld name dargestellt wird. Wenn der Ressourcenname beispielsweise subscriptions/subscription-123 lautet, verwenden Sie subscription-123.

Mehrere Fehler beheben

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.

Sehen Sie sich die Ausgabe der fehlgeschlagenen Anfrage an, um weitere Fehler zu identifizieren. Die Ausgabe enthält alle Fehler, die noch vorhanden sind.

Wenn Ihr Abo mehrere Fehler enthält, wird für das Feld suspensionReason immer der ursprüngliche Fehler verwendet, der zur Sperrung Ihres Abos geführt hat.