REST Resource: subscriptions

Risorsa: sottoscrizione

Un abbonamento per ricevere eventi relativi a una risorsa Google Workspace. Per scoprire di più sugli abbonamenti, consulta la panoramica dell'API Google Workspace Events.

Rappresentazione JSON
{
  "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.
}
Campi
name

string

(Facoltativo) Immutabile. Identificatore. Nome della risorsa della sottoscrizione.

Formato: subscriptions/{subscription}

uid

string

Solo output. Identificatore univoco assegnato dal sistema per l'abbonamento.

targetResource

string

Obbligatorio. Immutabile. La risorsa Google Workspace che viene monitorata per gli eventi, formattata come nome completo della risorsa. Per scoprire di più sulle risorse di destinazione e sugli eventi che supportano, vedi Eventi di Google Workspace supportati.

Un utente può autorizzare l'app solo a creare un abbonamento per una determinata risorsa di destinazione. Se la tua app tenta di creare un altro abbonamento con le stesse credenziali utente, la richiesta restituisce un errore ALREADY_EXISTS.

eventTypes[]

string

Obbligatorio. Immutabile. Elenco non ordinato. Input per la creazione di una sottoscrizione. In caso contrario, solo output. Uno o più tipi di eventi da ricevere sulla risorsa di destinazione. Formattato in base alla specifica CloudEvents.

I tipi di eventi supportati dipendono dalla risorsa di destinazione della sottoscrizione. Per maggiori dettagli, vedi Eventi Google Workspace supportati.

Per impostazione predefinita, ricevi anche eventi relativi al ciclo di vita dell'abbonamento. Non è necessario specificare eventi del ciclo di vita per questo campo.

Se specifichi un tipo di evento che non esiste per la risorsa di destinazione, la richiesta restituisce un codice di stato HTTP 400 Bad Request.

payloadOptions

object (PayloadOptions)

(Facoltativo) Opzioni sui dati da includere nel payload dell'evento. Funzionalità supportata solo per gli eventi di Google Chat.

notificationEndpoint

object (NotificationEndpoint)

Obbligatorio. Immutabile. L'endpoint in cui la sottoscrizione distribuisce eventi, ad esempio un argomento Pub/Sub.

state

enum (State)

Solo output. Stato della sottoscrizione. Determina se la sottoscrizione può ricevere eventi e consegnarli all'endpoint di notifica.

suspensionReason

enum (ErrorType)

Solo output. L'errore che ha sospeso l'abbonamento.

Per riattivare l'abbonamento, risolvi l'errore e chiama il metodo subscriptions.reactivate.

authority

string

Solo output. L'utente che ha autorizzato la creazione dell'abbonamento.

Formato: users/{user}

Per gli utenti di Google Workspace, il valore {user} è il campo user.id dell'API Directory.

createTime

string (Timestamp format)

Solo output. L'ora in cui viene creata la sottoscrizione.

updateTime

string (Timestamp format)

Solo output. L'ultimo aggiornamento dell'abbonamento.

reconciling

boolean

Solo output. Se true, l'abbonamento è in fase di aggiornamento.

etag

string

(Facoltativo) Questo checksum viene calcolato dal server in base al valore di altri campi e potrebbe essere inviato durante le richieste di aggiornamento per garantire che il client abbia un valore aggiornato prima di procedere.

Campo unione expiration. L'ora di scadenza dell'abbonamento.

La scadenza massima dipende dal fatto che la sottoscrizione includa o meno i dati delle risorse nei payload di eventi (specificati nel campo PayloadOptions):

  • Se i payload omettono i dati delle risorse, possono essere utilizzati fino a 7 giorni.
  • Se i payload includono dati delle risorse, fino a 4 ore. Se la tua organizzazione Google Workspace concede l'accesso alla risorsa tramite la delega a livello di dominio, puoi estendere la scadenza dell'abbonamento fino a 24 ore.

Alla scadenza, l'abbonamento viene eliminato automaticamente. Ricevi eventi del ciclo di vita in notification_endpoint 12 ore e un'ora prima della scadenza dell'abbonamento. Per maggiori dettagli, vedi Ricevere e rispondere agli eventi del ciclo di vita.

Per evitare che un abbonamento scada, puoi usare il metodo UpdateSubscription per estenderne la data di scadenza. Per maggiori dettagli, vedi Aggiornare o rinnovare un abbonamento. expiration può essere solo uno dei seguenti:

expireTime

string (Timestamp format)

Valore predefinito non vuoto. Il timestamp in UTC di scadenza dell'abbonamento. Viene sempre visualizzato nell'output, indipendentemente da quello utilizzato nell'input.

ttl

string (Duration format)

Solo input. La durata (TTL) o la durata dell'abbonamento. Se non specificato o impostato su 0, viene utilizzata la durata massima possibile.

PayloadOptions

Opzioni sui dati da includere nel payload evento. Funzionalità supportata solo per gli eventi di Google Chat.

Rappresentazione JSON
{
  "includeResource": boolean,
  "fieldMask": string
}
Campi
includeResource

boolean

(Facoltativo) Indica se il payload dell'evento include dati sulla risorsa che è stata modificata. Ad esempio, per un evento in cui è stato creato un messaggio di Google Chat, se il payload contiene dati sulla risorsa Message. Se il valore è false, il payload dell'evento include solo il nome della risorsa modificata.

fieldMask

string (FieldMask format)

(Facoltativo) Se includeResource è impostato su true, l'elenco dei campi da includere nel payload dell'evento. Separa i campi con una virgola. Ad esempio, per includere il mittente di un messaggio di Google Chat e creare l'ora, inserisci message.sender,message.createTime. Se omesso, il payload include tutti i campi per la risorsa.

Se specifichi un campo che non esiste per la risorsa, il sistema lo ignora.

NotificationEndpoint

L'endpoint in cui l'abbonamento pubblica gli eventi.

Rappresentazione JSON
{

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

Campo unione endpoint.

endpoint può essere solo uno dei seguenti:

pubsubTopic

string

Immutabile. L'argomento Cloud Pub/Sub che riceve gli eventi per la sottoscrizione.

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

Devi creare l'argomento nello stesso progetto Google Cloud in cui crei questa sottoscrizione.

Quando l'argomento riceve eventi, questi vengono codificati come messaggi Cloud Pub/Sub. Per maggiori dettagli, consulta Associazione di protocolli Google Cloud Pub/Sub per CloudEvents.

Stato

Stati possibili per l'abbonamento.

Enum
STATE_UNSPECIFIED Valore predefinito. Questo valore non è utilizzato.
ACTIVE L'abbonamento è attivo e può ricevere e inviare eventi al relativo endpoint di notifica.
SUSPENDED L'abbonamento non è in grado di ricevere eventi a causa di un errore. Per identificare l'errore, consulta il campo suspensionReason.
DELETED L'abbonamento è stato eliminato.

ErrorType

Possibili errori relativi a una sottoscrizione.

Enum
ERROR_TYPE_UNSPECIFIED Valore predefinito. Questo valore non è utilizzato.
USER_SCOPE_REVOKED L'utente che ha effettuato l'autorizzazione ha revocato la concessione di uno o più ambiti OAuth. Per saperne di più sull'autorizzazione per Google Workspace, consulta Configurare la schermata per il consenso OAuth.
RESOURCE_DELETED La risorsa di destinazione per la sottoscrizione non esiste più.
USER_AUTHORIZATION_FAILURE L'utente che ha autorizzato la creazione dell'abbonamento non ha più accesso alla risorsa di destinazione dell'abbonamento.
ENDPOINT_PERMISSION_DENIED L'applicazione Google Workspace non dispone dell'accesso per consegnare eventi all'endpoint di notifica del tuo abbonamento.
ENDPOINT_NOT_FOUND L'endpoint di notifica dell'abbonamento non esiste oppure non è possibile trovarlo nel progetto Google Cloud in cui hai creato l'abbonamento.
ENDPOINT_RESOURCE_EXHAUSTED L'endpoint di notifica dell'abbonamento non ha ricevuto eventi a causa di una quota insufficiente o del raggiungimento della limitazione di frequenza.
OTHER Si è verificato un errore non identificato.

Metodi

create

Crea un abbonamento a Google Workspace.

delete

Elimina un abbonamento a Google Workspace.

get

Recupera i dettagli di un abbonamento a Google Workspace.

list

Elenca gli abbonamenti a Google Workspace.

patch

Aggiorna o rinnova un abbonamento a Google Workspace.

reactivate

Riattiva un abbonamento a Google Workspace sospeso.