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

Optional. Nicht veränderbar. 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 autorisieren, ein Abo für eine bestimmte Zielressource zu erstellen. Wenn Ihre App versucht, ein weiteres Abo mit denselben Nutzeranmeldedaten zu erstellen, gibt die Anfrage den Fehler ALREADY_EXISTS zurück.

eventTypes[]

string

Erforderlich. Nicht veränderbar. Unsortierte Liste. Eingabe zum Erstellen eines Abos. Andernfalls wird nur die Ausgabe verwendet. 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 im Hilfeartikel Unterstützte Google Workspace-Ereignisse.

Standardmäßig erhalten Sie auch Ereignisse zum Lebenszyklus Ihres Abos. Sie müssen für dieses Feld 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 für die in die Ereignisnutzlast aufzunehmenden Daten. Wird nur für Google Chat-Termine 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 senden kann.

suspensionReason

enum (ErrorType)

Nur Ausgabe. Der Fehler, durch den das Abo gesperrt wurde.

Beheben Sie den Fehler und rufen Sie die Methode subscriptions.reactivate auf, um das Abo wieder zu aktivieren.

authority

string

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

Format: users/{user}

Für Google Workspace-Nutzer ist der Wert {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. Der Zeitpunkt, 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 (angegeben im Feld PayloadOptions):

  • Wenn die Nutzlasten keine Ressourcendaten enthalten, kann dies bis zu 7 Tage dauern.
  • Wenn Nutzlasten Ressourcendaten enthalten, kann es bis zu 4 Stunden dauern. Wenn Ihre Google Workspace-Organisation den Zugriff auf die Ressource über 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 12 Stunden und eine Stunde vor Ablauf des Abos Lebenszyklus-Ereignisse an die notification_endpoint. Weitere Informationen finden Sie unter Lebenszyklus-Ereignisse empfangen und beantworten.

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

expireTime

string (Timestamp format)

Standardwert ist nicht leer. Der Zeitstempel in UTC für das Ablaufdatum des Abos. Wird immer in 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 maximal mögliche Dauer verwendet.

PayloadOptions

Optionen für die in die Ereignisnutzlast aufzunehmenden Daten. Wird nur für Google Chat-Termine 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. Bei „false“ enthält die Ereignisnutzlast nur den Namen der geänderten Ressource.

fieldMask

string (FieldMask format)

Optional. Die Liste der Felder, die in die Ereignisnutzlast einbezogen werden sollen, wenn includeResource auf true gesetzt ist. Trennen Sie einzelne Felder durch Kommas. Wenn Sie beispielsweise den Absender einer Google Chat-Nachricht und den Erstellungszeitpunkt angeben möchten, geben Sie message.sender,message.createTime ein. Wenn keine Angabe gemacht wird, 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 sendet.

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 unter 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 Identifizieren des Fehlers finden Sie im Feld suspensionReason.
DELETED Das Abo wurde gelöscht.

ErrorType

Mögliche Fehler für ein Abo.

Enums
ERROR_TYPE_UNSPECIFIED Standardwert Dieser Wert wird nicht verwendet.
USER_SCOPE_REVOKED Der autorisierende Nutzer hat die Erteilung eines oder mehrerer 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 der Endpunkt wurde nicht in dem Google Cloud-Projekt gefunden, in dem Sie das Abo erstellt haben.
ENDPOINT_RESOURCE_EXHAUSTED Der Benachrichtigungsendpunkt des Abos hat keine Ereignisse empfangen, weil das Kontingent unzureichend oder die Ratenbegrenzung erreicht wurde.
OTHER Ein unbekannter 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

Ein Google Workspace-Abo wird aktualisiert oder verlängert.

reactivate

Ein gesperrtes Google Workspace-Abo wird wieder aktiviert.