REST Resource: subscriptions

Kaynak: Abonelik

Bir Google Workspace kaynağıyla ilgili etkinlikleri almak için abonelik. Abonelikler hakkında daha fazla bilgi edinmek için Google Workspace Events API'ye genel bakış başlıklı makaleyi inceleyin.

JSON gösterimi
{
  "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.
}
Alanlar
name

string

İsteğe bağlı. Sabit. Tanımlayıcı. Aboneliğin kaynak adı.

Biçim: subscriptions/{subscription}

uid

string

Yalnızca çıkış. Abonelik için sistem tarafından atanan benzersiz tanımlayıcı.

targetResource

string

Zorunlu. Sabit. Tam kaynak adı olarak biçimlendirilmiş, etkinlikler için izlenen Google Workspace kaynağı. Hedef kaynaklar ve destekledikleri etkinlikler hakkında bilgi edinmek için Desteklenen Google Workspace etkinlikleri başlıklı makaleyi inceleyin.

Kullanıcılar, uygulamanıza yalnızca belirli bir hedef kaynak için bir abonelik oluşturma yetkisi verebilir. Uygulamanız aynı kullanıcı kimlik bilgileriyle başka bir abonelik oluşturmaya çalışırsa istek, ALREADY_EXISTS hatası döndürür.

eventTypes[]

string

Zorunlu. Sabit. Sırasız liste. Abonelik oluşturma girişi. Aksi takdirde yalnızca çıkış kullanılır. Hedef kaynak hakkında alınacak bir veya daha fazla etkinlik türü. CloudEvents spesifikasyonuna göre biçimlendirilmiştir.

Desteklenen etkinlik türleri, aboneliğinizin hedef kaynağına bağlıdır. Ayrıntılar için Desteklenen Google Workspace etkinlikleri başlıklı makaleyi inceleyin.

Varsayılan olarak, aboneliğinizin yaşam döngüsü ile ilgili etkinlikler de alırsınız. Bu alan için yaşam döngüsü olayları belirtmeniz gerekmez.

Hedef kaynak için var olmayan bir etkinlik türü belirtirseniz istek, bir HTTP 400 Bad Request durum kodu döndürür.

payloadOptions

object (PayloadOptions)

İsteğe bağlı. Etkinlik yüküne hangi verilerin dahil edileceğine ilişkin seçenekler. Yalnızca Google Chat etkinlikleri için desteklenir.

notificationEndpoint

object (NotificationEndpoint)

Zorunlu. Sabit. Aboneliğin, Pub/Sub konusu gibi etkinlikleri yayınladığı uç nokta.

state

enum (State)

Yalnızca çıkış. Aboneliğin durumu. Aboneliğin etkinlikleri alıp alamayacağını ve bunları bildirim uç noktasına teslim edip edemeyeceğini belirler.

suspensionReason

enum (ErrorType)

Yalnızca çıkış. Aboneliği askıya alan hata.

Aboneliği yeniden etkinleştirmek için hatayı giderin ve subscriptions.reactivate yöntemini çağırın.

authority

string

Yalnızca çıkış. Aboneliğin oluşturulmasına yetki veren kullanıcı.

Biçim: users/{user}

Google Workspace kullanıcıları için {user} değeri, Directory API'deki user.id alanıdır.

createTime

string (Timestamp format)

Yalnızca çıkış. Aboneliğin oluşturulduğu zaman.

updateTime

string (Timestamp format)

Yalnızca çıkış. Aboneliğin son güncellendiği zaman.

reconciling

boolean

Yalnızca çıkış. true ise abonelik güncellenmektedir.

etag

string

İsteğe bağlı. Bu sağlama toplamı, diğer alanların değerine bağlı olarak sunucu tarafından hesaplanır ve devam etmeden önce istemcinin güncel bir değere sahip olduğundan emin olmak için güncelleme isteklerinde gönderilebilir.

Birleştirme alanı expiration. Aboneliğin süresinin dolacağı zaman.

Maksimum sona erme süresi, aboneliğinizin etkinlik yüklerine kaynak verileri içerip içermediğine bağlıdır (PayloadOptions alanında belirtilir):

  • Yükler kaynak verilerini atlarsa en fazla 7 gün.
  • Yüklerde kaynak verileri varsa en fazla 4 saat. Google Workspace kuruluşunuz, alan genelinde yetki aracılığıyla kaynağa erişim izni veriyorsa aboneliğin geçerlilik süresini 24 saate kadar uzatabilirsiniz.

Bir abonelik süresi dolduktan sonra otomatik olarak silinir. Aboneliğinizin süresi dolmadan 12 saat ve bir saat önce yaşam döngüsü olaylarını notification_endpoint hizmetine alırsınız. Ayrıntılar için Yaşam döngüsü olaylarını alma ve yanıtlama başlıklı makaleye bakın.

Bir aboneliğin süresinin dolmasını önlemek için UpdateSubscription yöntemini kullanarak geçerlilik bitiş tarihini uzatabilirsiniz. Ayrıntılı bilgi için Aboneliği güncelleme veya yenileme başlıklı makaleyi inceleyin. expiration şunlardan yalnızca biri olabilir:

expireTime

string (Timestamp format)

Boş olmayan varsayılan. Aboneliğin sona erdiği zaman (UTC) zaman damgası. Girişte ne kullanıldığına bakılmaksızın, çıkışta her zaman görüntülenir.

ttl

string (Duration format)

Yalnızca giriş. Aboneliğin geçerlilik süresi (TTL) veya süresi. Belirtilmemişse veya 0 olarak ayarlanırsa mümkün olan maksimum süreyi kullanır.

PayloadOptions

Etkinlik yüküne hangi verilerin dahil edileceğine ilişkin seçenekler. Yalnızca Google Chat etkinlikleri için desteklenir.

JSON gösterimi
{
  "includeResource": boolean,
  "fieldMask": string
}
Alanlar
includeResource

boolean

İsteğe bağlı. Etkinlik yükünün, değişen kaynakla ilgili verileri içerip içermediği. Örneğin, Google Chat mesajının oluşturulduğu bir etkinlik için yükün Message kaynağıyla ilgili verileri içerip içermediği. Yanlış değerine ayarlanırsa etkinlik yükü yalnızca değiştirilen kaynağın adını içerir.

fieldMask

string (FieldMask format)

İsteğe bağlı. includeResource, true olarak ayarlanırsa etkinlik yüküne dahil edilecek alanların listesi. Alanları virgülle ayırın. Örneğin, bir Google Chat mesajının gönderenini dahil etmek ve zaman oluşturmak için message.sender,message.createTime yazın. Atlanırsa yük, kaynağın tüm alanlarını içerir.

Kaynak için var olmayan bir alan belirtirseniz sistem bu alanı yok sayar.

NotificationEndpoint

Aboneliğin etkinlikleri yayınladığı uç nokta.

JSON gösterimi
{

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

Birleştirme alanı endpoint.

endpoint şunlardan yalnızca biri olabilir:

pubsubTopic

string

Sabit. Abonelikle ilgili etkinlikleri alan Cloud Pub/Sub konusu.

Biçim: projects/{project}/topics/{topic}

Konuyu, bu aboneliği oluşturduğunuz Google Cloud projesinde oluşturmanız gerekir.

Konu etkinlik aldığında etkinlikler, Cloud Pub/Sub mesajları olarak kodlanır. Ayrıntılar için CloudEvents için Google Cloud Pub/Sub Protokol Bağlantısı bölümüne bakın.

Eyalet

Abonelik için olası durumlar.

Sıralamalar
STATE_UNSPECIFIED Varsayılan değer. Bu değer kullanılmıyor.
ACTIVE Abonelik etkindir ve etkinlikleri bildirim uç noktasına alıp dağıtabilir.
SUSPENDED Abonelik bir hata nedeniyle etkinlikleri alamıyor. Hatayı tanımlamak için suspensionReason alanına bakın.
DELETED Abonelik silindi.

ErrorType

Bir abonelikle ilgili olası hatalar.

Sıralamalar
ERROR_TYPE_UNSPECIFIED Varsayılan değer. Bu değer kullanılmıyor.
USER_SCOPE_REVOKED Yetkilendirmeyi yapan kullanıcı, bir veya daha fazla OAuth kapsamı iznini iptal etti. Google Workspace yetkilendirmesi hakkında daha fazla bilgi edinmek için OAuth izin ekranını yapılandırma başlıklı makaleyi inceleyin.
RESOURCE_DELETED Abonelik için hedef kaynak artık mevcut değil.
USER_AUTHORIZATION_FAILURE Aboneliğin oluşturulmasına yetki veren kullanıcının artık aboneliğin hedef kaynağına erişimi yoktur.
ENDPOINT_PERMISSION_DENIED Google Workspace uygulaması, aboneliğinizin bildirim uç noktasına etkinlik yayınlamak için gerekli erişime sahip değildir.
ENDPOINT_NOT_FOUND Aboneliğin bildirim uç noktası mevcut değil veya uç nokta, aboneliği oluşturduğunuz Google Cloud projesinde bulunamıyor.
ENDPOINT_RESOURCE_EXHAUSTED Aboneliğin bildirim uç noktası, yetersiz kota veya hız sınırlamasına ulaşılması nedeniyle etkinlik alamadı.
OTHER Tanımlanamayan bir hata oluştu.

Yöntemler

create

Google Workspace aboneliği oluşturur.

delete

Google Workspace aboneliğini siler.

get

Google Workspace aboneliğiyle ilgili ayrıntıları alır.

list

Google Workspace aboneliklerini listeler.

patch

Google Workspace aboneliğini günceller veya yeniler.

reactivate

Askıya alınmış bir Google Workspace aboneliğini yeniden etkinleştirir.