REST Resource: subscriptions

Ressource: Abo

Ein Abo, um Ereignisse zu einer Google Workspace-Ressource zu erhalten. Weitere Informationen zu Abos finden Sie in der Übersicht über die Google Workspace Events API.

JSON-Darstellung
{
  "name": string,
  "uid": string,
  "targetResource": string,
  "eventTypes": [
    string
  ],
  "payloadOptions": {
    object (PayloadOptions)
  },
  "notificationEndpoint": {
    object (NotificationEndpoint)
  },
  "state": enum (State),
  "suspensionReason": enum (ErrorType),
  "authority": string,
  "createTime": string,
  "updateTime": string,
  "reconciling": boolean,
  "etag": string,

  // Union field expiration can be only one of the following:
  "expireTime": string,
  "ttl": string
  // End of list of possible types for union field expiration.
}
Felder
name

string

Kennung. Ressourcenname des Abos.

Format: subscriptions/{subscription}

uid

string

Nur Ausgabe. Vom System zugewiesene eindeutige Kennung für das Abo.

targetResource

string

Erforderlich. Nicht veränderbar. Die Google Workspace-Ressource, die auf Ereignisse überwacht wird, formatiert als vollständiger Ressourcenname Weitere Informationen zu Zielressourcen und den von ihnen unterstützten Ereignissen finden Sie unter Unterstützte Google Workspace-Ereignisse.

Ein Nutzer kann Ihre App nur zum Erstellen eines Abos für eine bestimmte Zielressource autorisieren. Wenn deine App versucht, ein weiteres Abo mit denselben Nutzeranmeldedaten zu erstellen, wird für die Anfrage der Fehler ALREADY_EXISTS zurückgegeben.

eventTypes[]

string

Erforderlich. Unsortierte Liste. Eingabe zum Erstellen eines Abos. Andernfalls wird nur die Ausgabe angezeigt. Ein oder mehrere Ereignistypen, die über die Zielressource empfangen werden sollen. Formatiert gemäß der CloudEvents-Spezifikation.

Die unterstützten Ereignistypen hängen von der Zielressource Ihres Abos ab. Weitere Informationen finden Sie unter Unterstützte Google Workspace-Ereignisse.

Standardmäßig erhalten Sie auch Ereignisse zum Lebenszyklus Ihres Abos. Für dieses Feld müssen Sie keine Lebenszyklusereignisse angeben.

Wenn Sie einen Ereignistyp angeben, der für die Zielressource nicht vorhanden ist, gibt die Anfrage den HTTP-Statuscode 400 Bad Request zurück.

payloadOptions

object (PayloadOptions)

Optional. Optionen dazu, welche Daten in die Ereignisnutzlast aufgenommen werden sollen. Nur für Google Chat-Ereignisse unterstützt.

notificationEndpoint

object (NotificationEndpoint)

Erforderlich. Nicht veränderbar. Der Endpunkt, an den das Abo Ereignisse liefert, z. B. ein Pub/Sub-Thema.

state

enum (State)

Nur Ausgabe. Der Status des Abos. Bestimmt, ob das Abo Ereignisse empfangen und an den Benachrichtigungsendpunkt weiterleiten kann.

suspensionReason

enum (ErrorType)

Nur Ausgabe. Der Fehler, der zur Sperrung des Abos geführt hat.

Wenn Sie das Abo reaktivieren möchten, beheben Sie den Fehler und rufen Sie die Methode subscriptions.reactivate auf.

authority

string

Nur Ausgabe. Der Nutzer, der die Erstellung des Abos autorisiert hat.

Format: users/{user}

Für Google Workspace-Nutzer ist der Wert für {user} das Feld user.id aus der Directory API.

createTime

string (Timestamp format)

Nur Ausgabe. Der Zeitpunkt, zu dem das Abo erstellt wird.

updateTime

string (Timestamp format)

Nur Ausgabe. Das Datum und die Uhrzeit, zu dem das Abo zuletzt aktualisiert wurde.

reconciling

boolean

Nur Ausgabe. Wenn true, wird das Abo gerade aktualisiert.

etag

string

Optional. Diese Prüfsumme wird vom Server basierend auf dem Wert anderer Felder berechnet und kann bei Aktualisierungsanfragen gesendet werden, um sicherzustellen, dass der Client vor dem Fortfahren einen aktuellen Wert hat.

Union-Feld expiration. Die Uhrzeit, zu der das Abo abläuft.

Die maximale Ablaufzeit hängt davon ab, ob Ihr Abo Ressourcendaten in Ereignisnutzlasten enthält (im Feld PayloadOptions angegeben):

  • Wenn Ressourcendaten in den Nutzlasten fehlen, bis zu 7 Tage.
  • Wenn Nutzlasten Ressourcendaten enthalten, bis zu 4 Stunden. Wenn Ihre Google Workspace-Organisation den Zugriff auf die Ressource über eine domainweite Delegierung gewährt, können Sie die Ablaufzeit des Abos auf bis zu 24 Stunden verlängern.

Nach Ablauf eines Abos wird es automatisch gelöscht. Sie erhalten Lebenszyklusereignisse notification_endpoint 12 Stunden und eine Stunde vor Ablauf des Abos. Weitere Informationen finden Sie unter Lebenszyklusereignisse empfangen und darauf reagieren.

Wenn Sie verhindern möchten, dass ein Abo abläuft, können Sie mit der Methode UpdateSubscription das Ablaufdatum verlängern. Weitere Informationen finden Sie unter Abo aktualisieren oder verlängern. Für expiration ist nur einer der folgenden Werte zulässig:

expireTime

string (Timestamp format)

Nicht leerer Standardwert. Der Zeitstempel in UTC, an dem das Abo abläuft. Wird immer bei der Ausgabe angezeigt, unabhängig davon, was bei der Eingabe verwendet wurde.

ttl

string (Duration format)

Nur Eingabe. Die Gültigkeitsdauer (TTL) oder Dauer des Abos. Wenn nicht angegeben oder auf 0 festgelegt, wird die maximale Dauer verwendet.

PayloadOptions

Optionen dazu, welche Daten in die Ereignisnutzlast aufgenommen werden sollen. Nur für Google Chat-Ereignisse unterstützt.

JSON-Darstellung
{
  "includeResource": boolean,
  "fieldMask": string
}
Felder
includeResource

boolean

Optional. Gibt an, ob die Ereignisnutzlast Daten zur geänderten Ressource enthält. Beispiel: Bei einem Ereignis, bei dem eine Google Chat-Nachricht erstellt wurde, ob die Nutzlast Daten zur Ressource Message enthält. Wenn „false“ festgelegt ist, enthält die Ereignisnutzlast nur den Namen der geänderten Ressource.

fieldMask

string (FieldMask format)

Optional. Wenn includeResource auf true gesetzt ist, die Liste der Felder, die in die Ereignisnutzlast aufgenommen werden sollen. Trennen Sie die Felder durch ein Komma. Wenn Sie beispielsweise den Absender und die Erstellungszeit einer Google Chat-Nachricht angeben möchten, geben Sie message.sender,message.createTime ein. Wird dieses Attribut weggelassen, enthält die Nutzlast alle Felder für die Ressource.

Wenn Sie ein Feld angeben, das für die Ressource nicht vorhanden ist, wird das Feld vom System ignoriert.

NotificationEndpoint

Der Endpunkt, an den das Abo Ereignisse liefert.

JSON-Darstellung
{

  // Union field endpoint can be only one of the following:
  "pubsubTopic": string
  // End of list of possible types for union field endpoint.
}
Felder

Union-Feld endpoint.

Für endpoint ist nur einer der folgenden Werte zulässig:

pubsubTopic

string

Nicht veränderbar. Das Cloud Pub/Sub-Thema, das Ereignisse für das Abo empfängt.

Format: projects/{project}/topics/{topic}

Sie müssen das Thema in demselben Google Cloud-Projekt erstellen, in dem Sie auch dieses Abo erstellt haben.

Wenn das Thema Ereignisse empfängt, werden diese als Cloud Pub/Sub-Nachrichten codiert. Weitere Informationen finden Sie in der Google Cloud Pub/Sub-Protokollbindung für CloudEvents.

Status

Mögliche Status für das Abo.

Enums
STATE_UNSPECIFIED Standardwert Dieser Wert wird nicht verwendet.
ACTIVE Das Abo ist aktiv und kann Ereignisse empfangen und an seinen Benachrichtigungsendpunkt senden.
SUSPENDED Das Abo kann aufgrund eines Fehlers keine Ereignisse empfangen. Informationen zum Fehler finden Sie im Feld suspensionReason.
DELETED Das Abo wird gelöscht.

ErrorType

Mögliche Fehler bei einem Abo.

Enums
ERROR_TYPE_UNSPECIFIED Standardwert Dieser Wert wird nicht verwendet.
USER_SCOPE_REVOKED Der autorisierende Nutzer hat die Berechtigung für einen oder mehrere OAuth-Bereiche widerrufen. Weitere Informationen zur Autorisierung für Google Workspace finden Sie unter OAuth-Zustimmungsbildschirm konfigurieren.
RESOURCE_DELETED Die Zielressource für das Abo ist nicht mehr vorhanden.
USER_AUTHORIZATION_FAILURE Der Nutzer, der das Erstellen des Abos autorisiert hat, hat keinen Zugriff mehr auf die Zielressource des Abos.
ENDPOINT_PERMISSION_DENIED Die Google Workspace-Anwendung hat keinen Zugriff, um Ereignisse an den Benachrichtigungsendpunkt Ihres Abos zu senden.
ENDPOINT_NOT_FOUND Der Benachrichtigungsendpunkt des Abos ist nicht vorhanden oder kann im Google Cloud-Projekt, in dem Sie das Abo erstellt haben, nicht gefunden werden.
ENDPOINT_RESOURCE_EXHAUSTED Der Benachrichtigungsendpunkt des Abos konnte aufgrund eines unzureichenden Kontingents oder einer erreichten Ratenbegrenzung keine Ereignisse empfangen.
OTHER Ein nicht identifizierter Fehler ist aufgetreten.

Methoden

create

Erstellt ein Google Workspace-Abo.

delete

Löscht ein Google Workspace-Abo.

get

Ruft Details zu einem Google Workspace-Abo ab.

list

Listet Google Workspace-Abos auf.

patch

Aktualisiert oder verlängert ein Google Workspace-Abo.

reactivate

Hiermit wird ein gesperrtes Google Workspace-Abo reaktiviert.