Auf dieser Seite wird erläutert, wie Sie ein Google Workspace-Abo mit
der
subscriptions.update()
Methode verlängern. Mit dieser Methode können Sie die Ablaufzeit eines Abos aktualisieren, einschließlich der Verlängerung des Abos auf die maximal mögliche Ablaufzeit, oder die Liste der Ereignistypen aktualisieren, die für die Zielressource empfangen werden sollen.
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
appsscript.jsonDatei in Ihrem Apps Script-Projekt hinzufügen. Wenn Sie beispielsweise den Bereichchat.messagesangegeben haben, fügen Sie Folgendes hinzu: - Aktivieren
Sie den
Google Workspace Eventserweiterten Dienst.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
Erfordert eine Authentifizierung und einen entsprechenden Autorisierungsbereich für jeden Ereignistyp im Abo:
- Für die Nutzerauthentifizierung sind ein oder mehrere Bereiche erforderlich, die mindestens einen der Ereignistypen für das Abo unterstützen. Informationen zum Identifizieren eines Bereichs finden Sie unter Bereiche nach Ereignistyp.
- Für das Abonnieren eines Chat-Ereignisses als Chat-App ist eine App-Authentifizierung mit einmaliger Administratorgenehmigung erforderlich.
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 Befehlszeilenschnittstelle 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 finden Sie unter Abo erstellen.
Erfordert eine Authentifizierung und einen entsprechenden Autorisierungsbereich für jeden Ereignistyp im Abo:
- Für die Nutzerauthentifizierung sind ein oder mehrere Bereiche erforderlich, die mindestens einen der Ereignistypen für das Abo unterstützen. Informationen zum Identifizieren eines Bereichs finden Sie unter Bereiche nach Ereignistyp.
- Für das Abonnieren eines Chat-Ereignisses als Chat-App ist eine App-Authentifizierung mit einmaliger Administratorgenehmigung erforderlich.
Google Workspace-Abo verlängern
In diesem Abschnitt wird die Methode subscriptions.update() der Google Workspace Events API verwendet, um ein Abo auf die maximale Ablaufzeit zu verlängern. Wenn Sie die maximale Ablaufzeit angeben möchten, aktualisieren Sie das ttl
Feld der
Subscription Ressource
auf 0.
Die maximale Ablaufzeit hängt davon ab, welche Ressourcendaten in der Ereignisnutzlast enthalten sind. Weitere Informationen zu Ablaufzeiten finden Sie unter Ereignisdaten für Google Workspace-Ereignisse.
So verlängern Sie ein Google Workspace-Abo:
Apps Script
Erstellen Sie in Ihrem Apps Script-Projekt eine neue Skriptdatei mit dem Namen
updateSubscriptionund fügen Sie den folgenden Code hinzu:function updateSubscription() { // The name of the subscription to update. const name = 'subscriptions/SUBSCRIPTION_ID'; // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.patch({ ttl: '0s', }, name); console.log(response); }Ersetzen Sie Folgendes:
Führen Sie die Funktion
updateSubscriptionin Ihrem Apps Script-Projekt aus, um das Google Workspace-Abo zu aktualisieren.
Python
Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
update_subscription.pyund fügen Sie den folgenden Code hinzu:"""Update 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, ) BODY = { 'ttl': {'seconds': 0}, } NAME = 'subscriptions/SUBSCRIPTION_ID' response = ( service.subscriptions() .patch(name=NAME, updateMask='ttl', body=BODY) .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 auflisten 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 können die ID mit einer der folgenden Methoden abrufen:
Achten Sie darauf, dass Sie die Anmeldedaten für die OAuth-Client-ID in Ihrem Arbeitsverzeichnis gespeichert und die Datei
credentials.jsongenannt haben. Das Codebeispiel verwendet diese JSON -Datei, um sich bei Google Workspace zu authentifizieren und Anmeldedaten für Nutzer abzurufen. Eine Anleitung finden Sie unter Anmeldedaten mit OAuth-Client-ID erstellen.Führen Sie Folgendes im Terminal aus, um das Google Workspace-Abo zu aktualisieren:
python3 update_subscription.py
Subscription Ressource enthält.
Wenn Sie Details zur aktualisierten Subscription Ressource abrufen möchten, verwenden Sie die
operations.get() Methode
und geben Sie die Operation Ressource an, die von Ihrer subscriptions.update()
Anfrage zurückgegeben wurde. Wenn Sie eine Ressource Operation aus einer früheren Version des Abos angeben, ist die Antwort leer.
Abo als Google Chat-App aktualisieren oder verlängern
Sie können ein Abo für Chat-Ereignisse als Chat-App und nicht als Nutzer aktualisieren oder verlängern. Der Vorgang ist ähnlich, mit folgenden Ausnahmen:
Authentifizieren Sie sich als Chat-App mit einmaliger Administratorgenehmigung anstelle der Nutzerauthentifizierung.
Geben Sie Autorisierungsbereiche an, mit denen die Chat-App Chat-Ereignisse abonnieren kann. Diese Autorisierungsbereiche beginnen immer mit
chat.appund umfassen Folgendes:https://www.googleapis.com/auth/chat.app.memberships: Ereignisse für Mitglieder von Chatbereichen abonnieren.https://www.googleapis.com/auth/chat.app.memberships.readonly: Ereignisse für Mitglieder von Chatbereichen abonnieren.https://www.googleapis.com/auth/chat.app.messages.readonly: Ereignisse für Nachrichten in Chatbereichen abonnieren.https://www.googleapis.com/auth/chat.app.spaces: Ereignisse für Chatbereiche abonnieren.https://www.googleapis.com/auth/chat.app.spaces.readonly: Ereignisse für Chatbereiche abonnieren.
Skript schreiben, das die Google Workspace Events API aufruft
Das folgende Codebeispiel aktualisiert das Google Workspace-Abo einer Chat-App:
Python
"""Update 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,
)
BODY = {
'ttl': {'seconds': 0},
}
NAME = 'subscriptions/SUBSCRIPTION_ID'
response = (
service.subscriptions()
.patch(name=NAME, updateMask='ttl', body=BODY)
.execute()
)
print(response)
Ersetzen Sie Folgendes:
SCOPES: Geben Sie Autorisierungsbereiche an, mit denen die Chat-App Chat-Ereignisse abonnieren kann. Diese Autorisierungsbereiche beginnen immer mitchat.appund umfassen Folgendes:https://www.googleapis.com/auth/chat.app.memberships: Ereignisse für Mitglieder von Chatbereichen abonnieren.https://www.googleapis.com/auth/chat.app.memberships.readonly: Ereignisse für Mitglieder von Chatbereichen abonnieren.https://www.googleapis.com/auth/chat.app.messages.readonly: Ereignisse für Nachrichten und Reaktionen in Chatbereichen abonnieren.https://www.googleapis.com/auth/chat.app.spaces: Ereignisse für Chatbereiche abonnieren.https://www.googleapis.com/auth/chat.app.spaces.readonly: Ereignisse für Chatbereiche abonnieren.
SUBSCRIPTION_ID: Die ID des Abos. Sie können die ID mit einer der folgenden Methoden abrufen: