REST Resource: subscriptions

Risorsa: sottoscrizione

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

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

Campo facoltativo. Immutabile. Identificatore. Nome 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 monitorata per gli eventi, formattata come nome completo della risorsa. Per saperne di più sulle risorse di destinazione e sugli eventi supportati, vedi Eventi di Google Workspace supportati.

Un utente può autorizzare la tua app a creare un solo 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 un abbonamento. In caso contrario, solo output. Uno o più tipi di eventi da ricevere relativi alla risorsa di destinazione. Formattati 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 gli 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)

Campo facoltativo. Opzioni su quali dati includere nel payload degli eventi. Funzionalità supportata solo per gli eventi di Google Chat.

notificationEndpoint

object (NotificationEndpoint)

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

state

enum (State)

Solo output. Lo stato dell'abbonamento. Determina se l'abbonamento può ricevere eventi e li consegna 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. La data e l'ora di creazione dell'abbonamento.

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

Campo facoltativo. Questo checksum viene calcolato dal server in base al valore di altri campi e potrebbe essere inviato in caso di richieste di aggiornamento per garantire che il client abbia un valore aggiornato prima di procedere.

Campo di unione expiration. Il tempo di scadenza dell'abbonamento.

La scadenza massima dipende dal fatto che l'abbonamento includa i dati delle risorse nei payload di eventi (specificati nel campo PayloadOptions):

  • Se i payload omettono i dati delle risorse, fino a 7 giorni.
  • Se i payload includono i 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 per 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 utilizzare 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 della scadenza dell'abbonamento. Viene sempre visualizzato nell'output, indipendentemente da ciò che è stato utilizzato nell'input.

ttl

string (Duration format)

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

PayloadOptions

Opzioni su quali dati includere nel payload degli eventi. Funzionalità supportata solo per gli eventi di Google Chat.

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

boolean

Campo facoltativo. Indica se il payload dell'evento include dati sulla risorsa modificata. Ad esempio, nel caso di un evento in cui è stato creato un messaggio di Google Chat, se il payload contiene dati relativi alla risorsa Message. Se il valore è false, il payload dell'evento include solo il nome della risorsa modificata.

fieldMask

string (FieldMask format)

Campo facoltativo. Se il criterio 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 l'ora di creazione, inserisci message.sender,message.createTime. Se omesso, il payload include tutti i campi della risorsa.

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

NotificationEndpoint

L'endpoint in cui la sottoscrizione 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 di unione endpoint.

endpoint può essere solo uno dei seguenti:

pubsubTopic

string

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

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

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

Quando l'argomento riceve eventi, questi vengono codificati come messaggi Cloud Pub/Sub. Per i dettagli, consulta l'articolo sull'associazione del protocollo Google Cloud Pub/Sub per CloudEvents.

Stato

Possibili stati dell'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 può 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 un abbonamento.

Enum
ERROR_TYPE_UNSPECIFIED Valore predefinito. Questo valore non è utilizzato.
USER_SCOPE_REVOKED L'utente che ha concesso l'autorizzazione ha revocato la concessione di uno o più ambiti OAuth. Per saperne di più sull'autorizzazione per Google Workspace, vedi 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 la consegna di eventi all'endpoint di notifica del tuo abbonamento.
ENDPOINT_NOT_FOUND L'endpoint di notifica dell'abbonamento non esiste oppure non è possibile trovare l'endpoint nel progetto Google Cloud in cui hai creato l'abbonamento.
ENDPOINT_RESOURCE_EXHAUSTED L'endpoint di notifica dell'abbonamento non è riuscito a ricevere 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

Consente di aggiornare o rinnovare un abbonamento a Google Workspace.

reactivate

Riattiva un abbonamento a Google Workspace sospeso.