REST Resource: subscriptions

Kaynak: Abonelik

Bir Google Workspace kaynağıyla ilgili etkinlikleri almak için kullanılan 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. Etkinlikler için izlenen ve tam kaynak adı olarak biçimlendirilmiş Google Workspace kaynağı. Hedef kaynaklar ve bunların desteklediği etkinlikler hakkında bilgi edinmek için Desteklenen Google Workspace etkinlikleri başlıklı makaleyi inceleyin.

Kullanıcı, uygulamanızı belirli bir hedef kaynak için yalnızca bir abonelik oluşturacak şekilde yetkilendirebilir. 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şturmak için giriş. Aksi takdirde, yalnızca çıkış yapın. Hedef kaynak hakkında alınacak bir veya daha fazla etkinlik türü. CloudEvents özelliklerine 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 etkinlikleri de alırsınız. Bu alan için yaşam döngüsü olaylarını belirtmenize gerek yoktur.

Hedef kaynak için var olmayan bir etkinlik türü belirtirseniz istek, 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 dair seçenekler. Yalnızca Google Chat etkinlikleri için desteklenir.

notificationEndpoint

object (NotificationEndpoint)

Zorunlu. Sabit. Aboneliğin etkinlikleri yayınladığı uç nokta (ör. Pub/Sub konusu).

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ğ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 zamanı.

reconciling

boolean

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

etag

string

İsteğe bağlı. Bu sağlama toplamı, sunucu tarafından diğer alanların değerine göre 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 sona erdiği zaman.

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

  • Yüklerde kaynak verileri eksikse en fazla 7 gün.
  • Yüklerde kaynak verileri varsa (4 saate kadar). Google Workspace kuruluşunuz, alan genelinde yetki üzerinden kaynağa erişim izni veriyorsa aboneliğin geçerlilik süresini 24 saate kadar uzatabilirsiniz.

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

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

expireTime

string (Timestamp format)

Varsayılan boş değildir. Aboneliğin sona erdiği zamanın UTC zaman damgasıdır. Girişte kullanılanlardan bağımsız olarak her zaman çıkışta gösterilir.

ttl

string (Duration format)

Yalnızca giriş'e dokunun. Aboneliğin geçerlilik süresi (TTL) veya süresi. Belirtilmezse veya 0 değerine ayarlanırsa mümkün olan maksimum süreyi kullanır.

PayloadOptions

Etkinlik yüküne hangi verilerin dahil edileceğine dair 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 veri içerip içermediğini gösterir. 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 eklemek 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 mevcut olmayan bir alan belirtirseniz sistem bu alanı yoksayar.

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 etkinlikler aldığında etkinlikler Cloud Pub/Sub mesajları olarak kodlanır. Ayrıntılar için CloudEvents için Google Cloud Pub/Sub Protokol Bağlama 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 etkin durumda ve bildirim uç noktasına etkinlik alıp yayınlayabilir.
SUSPENDED Abonelik bir hata nedeniyle etkinlikleri alamıyor. Hatayı tanımlamak için suspensionReason alanına bakın.
DELETED Abonelik silindi.

ErrorType

Abonelikle ilgili olası hatalar.

Sıralamalar
ERROR_TYPE_UNSPECIFIED Varsayılan değer. Bu değer kullanılmıyor.
USER_SCOPE_REVOKED Yetki veren kullanıcı, bir veya daha fazla OAuth kapsamının verilmesini iptal etti. Google Workspace yetkilendirmesi hakkında daha fazla bilgi edinmek için OAuth izin ekranını yapılandırma başlıklı makaleye bakın.
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şemez.
ENDPOINT_PERMISSION_DENIED Google Workspace uygulamasının, aboneliğinizin bildirim uç noktasına etkinlik gönderme erişimi yok.
ENDPOINT_NOT_FOUND Aboneliğin bildirim uç noktası yok 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ırına ulaşıldığı için 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.