REST Resource: subscriptions

Ressource: Abo

Ein Abo zum Empfang von Ereignissen zu einer Google Workspace-Ressource. Weitere Informationen zu Abos finden Sie in der Übersicht zur 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. ID. 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 auf Ereignisse überwachte Google Workspace-Ressource im Format 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 deine 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. Ansonsten nur Ausgabe. Mindestens ein Ereignistyp, der zur Zielressource empfangen werden soll. Gemäß der CloudEvents-Spezifikation formatiert

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. 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 dazu, welche Daten in die Ereignisnutzlast aufgenommen werden sollen. Wird nur für Google Chat-Ereignisse unterstützt.

notificationEndpoint

object (NotificationEndpoint)

Erforderlich. Nicht veränderbar. Der Endpunkt, an dem das Abo Ereignisse sendet, 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 in 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 der letzten Aboaktualisierung.

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 über einen aktuellen Wert verfügt.

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, die im Feld PayloadOptions angegeben werden:

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

Wenn ein Abo abläuft, wird es automatisch gelöscht. Sie erhalten 12 Stunden und eine Stunde vor Ablauf des Abos Lebenszyklusereignisse an notification_endpoint. Weitere Informationen finden Sie unter Lebenszyklusereignisse empfangen und darauf reagieren.

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

expireTime

string (Timestamp format)

Das Feld für den Standardwert ist nicht leer. Der Zeitstempel in UTC für den Ablauf des Abos. Wird bei der Ausgabe immer 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 kein Wert angegeben oder auf 0 festgelegt ist, wird die maximal mögliche Dauer verwendet.

PayloadOptions

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

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

boolean

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

fieldMask

string (FieldMask format)

Optional. Liste der Felder, die in die Ereignisnutzlast aufgenommen werden sollen, wenn includeResource auf true gesetzt ist. Trennen Sie die Felder durch Kommas. Wenn Sie beispielsweise den Absender einer Google Chat-Nachricht mit einbeziehen 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 dem Google Cloud-Projekt erstellen, in dem Sie auch dieses Abo erstellen.

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 den Benachrichtigungsendpunkt senden.
SUSPENDED Das Abo kann aufgrund eines Fehlers keine Termine empfangen. Informationen zum Ermitteln 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 die Erstellung des Abos autorisiert hat, hat keinen Zugriff mehr auf die Zielressource des Abos.
ENDPOINT_PERMISSION_DENIED Die Google Workspace App hat keinen Zugriff, um Ereignisse an den Benachrichtigungsendpunkt deines Abos zu senden.
ENDPOINT_NOT_FOUND Der Benachrichtigungsendpunkt des Abos ist nicht vorhanden oder er wurde nicht in dem Google Cloud-Projekt gefunden, in dem Sie das Abo erstellt haben.
ENDPOINT_RESOURCE_EXHAUSTED Der Benachrichtigungsendpunkt des Abos konnte keine Ereignisse empfangen, weil das Kontingent unzureichend ist 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

Aktualisiert oder verlängert ein Google Workspace-Abo.

reactivate

Reaktiviert ein gesperrtes Google Workspace-Abo.