REST Resource: subscriptions

Kaynak: Abonelik

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

Tanımlayıcı. Aboneliğin kaynak adı.

Biçim: subscriptions/{subscription}

uid

string

Yalnızca çıkış. Aboneliğe sistem tarafından atanan benzersiz tanımlayıcı.

targetResource

string

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

Kullanıcılar, uygulamanızın belirli bir hedef kaynak için yalnızca bir abonelik oluşturmasına yetki 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. Sırasız liste. Abonelik oluşturmak için giriş. Aksi takdirde, yalnızca çıkış. Hedef kaynakla ilgili alınacak bir veya daha fazla etkinlik türü. CloudEvents spesifikasyonuna göre biçimlendirilmiş olmalıdır.

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ü etkinlikleri belirtmeniz gerekmez.

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

payloadOptions

object (PayloadOptions)

İsteğe bağlıdır. Etkinlik yüküne hangi verilerin dahil edileceğiyle ilgili seçenekler. Yalnızca Google Chat etkinlikleri için desteklenir.

notificationEndpoint

object (NotificationEndpoint)

Zorunlu. Değişmez. Aboneliğin etkinlikleri ilettiği uç nokta (ör. Pub/Sub konusu).

state

enum (State)

Yalnızca çıkış. Aboneliğin durumu. Aboneliğin etkinlik alıp bildirim uç noktasına iletip iletemeyeceğini belirler.

suspensionReason

enum (ErrorType)

Yalnızca çıkış. Aboneliğin askıya alınmasına neden olan 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üncellenme tarihi.

reconciling

boolean

Yalnızca çıkış. true ise abonelik güncellenme sürecindedir.

etag

string

İsteğe bağlıdır. Bu sağlama toplamı, sunucu tarafından diğer alanların değerine göre hesaplanır ve istemcinin devam etmeden önce güncel bir değere sahip olmasını sağlamak için güncelleme istekleriyle birlikte gönderilebilir.

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

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

  • Yüklerde kaynak verileri atlanırsa 7 güne kadar.
  • Yükler kaynak verilerini içeriyorsa 4 saate kadar. Google Workspace kuruluşunuz, kaynağa alan genelinde yetki devri aracılığıyla erişim izni veriyorsa aboneliğin geçerlilik süresini 24 saate kadar uzatabilirsiniz.

Süresi dolan abonelikler otomatik olarak silinir. Yaşam döngüsü etkinliklerini, abonelik süresi dolmadan notification_endpoint 12 saat ve 1 saat önce alırsınız. Ayrıntılar için Yaşam döngüsü etkinliklerini alma ve yanıtlama başlıklı makaleyi inceleyin.

Aboneliğin süresinin dolmasını önlemek için UpdateSubscription yöntemini kullanarak son kullanma tarihini uzatabilirsiniz. Ayrıntılar için Aboneliği güncelleme veya yenileme başlıklı makaleyi inceleyin. expiration yalnızca aşağıdakilerden biri olabilir:

expireTime

string (Timestamp format)

Boş olmayan varsayılan değer. Aboneliğin sona erdiği 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 ayarlanmışsa mümkün olan en uzun süre kullanılır.

PayloadOptions

Etkinlik yüküne hangi verilerin dahil edileceğiyle ilgili seçenekler. Yalnızca Google Chat etkinlikleri için desteklenir.

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

boolean

İsteğe bağlıdır. Etkinlik yükünün, değişen kaynakla ilgili veriler 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 veriler içerip içermediği. Yanlışsa etkinlik yükü yalnızca değiştirilen kaynağın adını içerir.

fieldMask

string (FieldMask format)

İsteğe bağlıdır. 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 ve oluşturulma zamanını eklemek için message.sender,message.createTime girin. Boş bırakılırsa yük, kaynağın tüm alanlarını içerir.

Kaynak için mevcut olmayan bir alan belirtirseniz sistem bu alanı yoksayar.

NotificationEndpoint

Aboneliğin etkinlikleri teslim ettiği 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 yalnızca aşağıdakilerden biri olabilir:

pubsubTopic

string

Değişmez. Abonelik için etkinlikleri alan Pub/Sub konusu.

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

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

Not: Google Workspace Events API, sıralı etkinlikler için sıralama anahtarlarını kullanır. Cloud Pub/Sub konusunun en yakın Google Cloud bölgesini hariç tutacak şekilde yapılandırılmış bir mesaj depolama politikası varsa sıralama anahtarlarıyla etkinlik yayınlama işlemi başarısız olur.

Konu etkinlik aldığında etkinlikler Pub/Sub mesajları olarak kodlanır. Ayrıntılar için Google Cloud Pub/Sub Protocol Binding for CloudEvents başlıklı makaleyi inceleyin.

Eyalet

Aboneliğin olası durumları.

Sıralamalar
STATE_UNSPECIFIED Varsayılan değer. Bu değer kullanılmıyor.
ACTIVE Abonelik etkin ve etkinlikleri bildirim uç noktasına alıp iletebiliyor.
SUSPENDED Abonelik, bir hata nedeniyle etkinlik alamıyor. Hatayı belirlemek için suspensionReason alanına bakın.
DELETED Abonelik silinir.

ErrorType

Abonelikle ilgili olası hatalar.

Sıralamalar
ERROR_TYPE_UNSPECIFIED Varsayılan değer. Bu değer kullanılmıyor.
USER_SCOPE_REVOKED Yetkilendiren kullanıcı, bir veya daha fazla OAuth kapsamının iznini iptal etti. Google Workspace için yetkilendirme hakkında daha fazla bilgi edinmek üzere OAuth kullanıcı rızası ekranını yapılandırma başlıklı makaleyi inceleyin.
RESOURCE_DELETED Aboneliğin hedef kaynağı artık mevcut değil.
USER_AUTHORIZATION_FAILURE Aboneliğin oluşturulmasına yetki veren kullanıcı, artık aboneliğin hedef kaynağına erişemiyor.
ENDPOINT_PERMISSION_DENIED Google Workspace uygulaması, etkinlikleri aboneliğinizin bildirim uç noktasına iletmek için erişime sahip değil.
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ı, kota yetersizliği veya sıklık sınırlamasına ulaşılması nedeniyle etkinlikleri 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ği hakkında ayrıntılı bilgi edinir.

list

Google Workspace aboneliklerini listeler.

patch

Google Workspace aboneliğini güncelleyen veya yenileyen

reactivate

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