Google Workspace Events API'yi kullanarak etkinliklere abone olma

Bu sayfada, Google Workspace Events API'ye genel bir bakış ve Google Workspace'teki etkinliklere abone olmak için API'yi nasıl kullanabileceğiniz açıklanmaktadır.

Google Workspace etkinlikleri, Google Workspace kaynaklarında yapılan değişiklikleri temsil eder (ör. kaynakların oluşturulması, güncellenmesi veya silinmesi). Uygulamanız bir Google Workspace kaynağına abone olabilir. Böylece, ilgilendiğiniz alakalı etkinlikleri alabilirsiniz.

Uygulamanız etkinlikleri nasıl alır?

Uygulamanızın Google Workspace etkinliklerini almasına izin vermek için Google Workspace Events API'yi kullanarak Google Workspace kaynakları için abonelik oluşturabilirsiniz.

Google Workspace Events API'nin etkinlikleri nasıl yayınladığını gösteren resim.
Şekil 1. Google Workspace Events API'nin etkinlikleri bir Chat uygulamasına nasıl yayınladığını gösteren örnek.

Aşağıdaki örnekte, Google Workspace Events API'nin etkinlikleri bir Google Chat uygulamasına abonelik üzerinden nasıl yayınladığı açıklanmaktadır:

  1. Bir Chat uygulaması, bir Chat alanına abone olur.
  2. Chat alanı değişir. Örneğin, alanda yeni bir mesaj yayınlanır.
  3. Chat, abonelik için bildirim uç noktası görevi gören Google Cloud Pub/Sub'daki bir konuya etkinlik yayınlar. Etkinlik, nelerin değiştiğiyle ilgili veriler içerir. Örneğin, yeni bir mesajla ilgili bir etkinlik için etkinlik, oluşturulan Message kaynağıyla ilgili ayrıntıları içerir.
  4. Chat uygulaması, etkinliği içeren Google Cloud Pub/Sub mesajını işler ve gerekirse işlem yapar.

Önemli terminoloji

Google Workspace Events API'de yaygın olarak kullanılan terimlerin listesi aşağıda verilmiştir:

Google Workspace etkinliği

Google Workspace kaynağında yapılan bir değişiklik. Etkinlikler, CloudEvents spesifikasyonu kullanılarak biçimlendirilir ve abonelik etkinliği veya yaşam döngüsü etkinliği olabilir:

Abonelik etkinliği
İzlediğiniz Google Workspace kaynağında yapılan bir değişiklik (ör. Google Chat alanındaki yeni bir mesaj). Değişen kaynak hakkında ne kadar ayrıntı almak istediğinizi belirtebilirsiniz. Ayrıntılar için Google Workspace etkinliklerinin yapısı başlıklı makaleyi inceleyin.
Yaşam döngüsü olayı
Google Workspace aboneliğinizle ilgili bir etkinlik. Yaşam döngüsü olayları, sorunlar ve aboneliğinizin durumu hakkında sizi bilgilendirir. Böylece, abonelik etkinliklerinin eksik olmasını önlersiniz. Varsayılan olarak aboneliğiniz her zaman yaşam döngüsü olayları alır. Ayrıntılı bilgi için Google Workspace abonelikleri için yaşam döngüsü olayları başlıklı makaleyi inceleyin.
Google Workspace aboneliği

Google Workspace uygulamasından bir kaynağı izleyen adlandırılmış varlık. Abonelik, bir Subscription kaynağıyla temsil edilir. Abonelik aşağıdaki bilgilerle tanımlanır:

Hedef kaynak
İzlemek istediğiniz Google Workspace kaynağı. Bu kaynak, Google Workspace aboneliğinin targetResource alanında temsil edilir. Her abonelik yalnızca bir kaynağı izleyebilir. Google Workspace Events API'nin hangi Google Workspace kaynaklarını desteklediğini görmek için Desteklenen Google Workspace etkinlikleri başlıklı makaleyi inceleyin.
Etkinlik türleri
Hedef kaynak için bildirim almak istediğiniz değişiklik türleri. Örneğin, bir Google Chat alanına abone olduysanız alan ve alt kaynakları (ör. üyelikler ve mesajlar) ile ilgili etkinlikleri alıp almayacağınızı seçebilirsiniz.
Bildirim uç noktası
Google Workspace aboneliğinin etkinlikleri aldığı uç nokta. Google Workspace Events API, Google Cloud Pub/Sub konularını bildirim uç noktası olarak destekler. Google Cloud Pub/Sub'ı kullanma hakkında daha fazla bilgi edinmek için Google Cloud Pub/Sub belgelerini inceleyin.
Yük seçenekleri
Değiştirilen kaynaklar hakkında almak istediğiniz etkinlik verileri.

Desteklenen Google Workspace etkinlikleri

Uygulamanızın etkinlik alabileceği etkinlikler, aboneliğinizin hedef kaynağına bağlıdır. Aşağıdaki tabloda, olası her hedef kaynak için desteklenen etkinlikler görüntülenir.

Hedef kaynak Biçim Desteklenen etkinlikler Sınırlamalar (varsa)
Google Sohbet
Google Chat alanları

Belirli bir alana abone olmak için:

//chat.googleapis.com/spaces/SPACE_ID

Kullanıcının üyesi olduğu tüm alanlara abone olmak için:

//chat.googleapis.com/spaces/-

  • Mesajlar
  • Üyelikler
  • Tepkiler
  • Alan

Ayrıntılar için Google Chat etkinliklerine abone olma başlıklı makaleyi inceleyin.
Aboneliği yetkilendiren Google Chat kullanıcısı, Google Workspace veya Google Hesabı aracılığıyla alanın üyesi olmalıdır.
Google Chat kullanıcıları //cloudidentity.googleapis.com/users/USER_ID
  • Üyelikler

Ayrıntılar için Google Chat etkinliklerine abone olma başlıklı makaleyi inceleyin.

Abonelik yalnızca aboneliği yetkilendiren kullanıcıyla ilgili etkinlikleri alır. Kullanıcılar, abonelikleri diğer kullanıcılar adına yetkilendiremez.

Google Meet
Google Meet toplantı alanları //meet.googleapis.com/spaces/SPACE_ID
  • Konferanslar
  • Katılımcı oturumları
  • Kayıtlar
  • Transkriptler

Ayrıntılar için Google Meet etkinliklerine abone olma başlıklı makaleyi inceleyin.
Google Meet kullanıcıları //cloudidentity.googleapis.com/users/USER_ID
  • Konferanslar
  • Katılımcı oturumları
  • Kayıtlar
  • Transkriptler

Ayrıntılar için Google Meet etkinliklerine abone olma başlıklı makaleyi inceleyin.

Abonelik, kullanıcının aşağıdakilerden biri olduğu toplantı alanlarıyla ilgili etkinlikleri alır:

  • Toplantı alanının sahibi.
  • Toplantı alanıyla ilişkili Google Takvim etkinliğinin düzenleyicisi.

Google Workspace etkinliklerinin yapısı

Google Workspace etkinlikleri, etkinlik verilerini tanımlamanın endüstri standardı olan bir yöntem olan CloudEvents spesifikasyonuna uyar. Google Workspace etkinlikleri şunları içerir:

  • CloudEvent'in özellikleri.
  • Etkinlik sonucunda değişen Google Workspace kaynağıyla ilgili veriler

Aşağıdaki bölümde, Google Workspace etkinliklerine ait özelliklerin ve verilerin yapısı açıklanmaktadır.

CloudEvent özellikleri

Google Workspace etkinlikleri aşağıdaki gerekli CloudEvents özelliklerini içerir:

Özellik Açıklama Örnek

datacontenttype

Etkinlikte aktarılan verilerin türü.

application/json

id

CloudEvent için bir tanımlayıcı.

spaces/AAAABBBBBBB/spaceEvents/ABCDEFGHIJKLMNO

source

Etkinliğin kaynağı. Google Workspace etkinlikleri için bu, aboneliğin tam kaynak adıdır. //workspaceevents.googleapis.com/subscriptions/chat-spaces-abcdefg

specversion

Bu etkinlik için kullanılan CloudEvents spesifikasyon sürümü.

1.0

subject

Etkinliğin gerçekleştiği Google Workspace kaynağı.

//chat.googleapis.com/spaces/AAAABBBBBBB

time

Etkinliğin gerçekleştiği zaman damgası (RFC 3339 biçiminde).

2023-09-07T21:37:36.260127Z

type

Google Workspace etkinliğinin türü.

google.workspace.chat.message.v1.created

Etkinlik verileri

Etkinlik verileri, hedef kaynağın alt kaynakları dahil olmak üzere aboneliğinizin hedef kaynağında yapılan bir değişikliği temsil eden yüktür. Aboneliğinizde yükün, değiştirilen kaynakla ilgili verileri mi yoksa yalnızca değiştirilen kaynağın adıyla ilgili verileri mi içermesini istediğinizi belirtebilirsiniz.

Örneğin, bir Chat alanına aboneliğiniz varsa alandaki yeni mesajlarla ilgili etkinlikleri alabilirsiniz. Yeni mesajlarla ilgili etkinlikler için etkinlik verileri, oluşturulan Chat spaces.message kaynağına sahip bir yük içerir.

Bir abonelik oluşturduğunuzda, uygulamanızın aldığı etkinliklere ne kadar kaynak verisinin dahil edileceğini belirtebilirsiniz:

  • Kaynak verilerini dahil et: Değiştirilen kaynağın bir kısmını veya tamamını içerir. Kaynak verileri eklemeyi tercih ederseniz abonelik süreniz 4 saat veya alan genelinde yetki kullanıyorsanız 24 saat ile sınırlıdır.
  • Kaynak verilerini hariç tut: Yalnızca değiştirilen kaynağın adını içerir. Abonelik süreniz 7 güne kadar çıkabilir. Etkinlikle ilgili ayrıntıları almak için kaynak adını kullanarak kaynağı sorgulayabilirsiniz.

Etkinlik verileriyle ilgili bu seçenekler, aboneliğinizin payloadOptions alanında gösterilir.

Google Cloud Pub/Sub mesajları olarak etkinlikler

Google Workspace Events API abonelikleri, Google Workspace etkinliklerini alan bildirim uç noktası olarak Google Cloud Pub/Sub konularını kullanır. Etkinlikler Google Cloud Pub/Sub mesajları olarak kodlanır. Uygulamanız, işlem yapmak veya etkinliğe yanıt vermek için Google Cloud Pub/Sub mesajını işleyebilir.

Aşağıdaki örnekte, Chat alanındaki güncellenmiş bir mesajla ilgili etkinliği içeren bir Google Cloud Pub/Sub mesajı gösterilmektedir:

 {
    "message":
    {
        "attributes":
        {
            "ce-datacontenttype": "application/json",
            "ce-id": "spaces/SPACE_ID/spaceEvents/SPACE_EVENT_ID",
            "ce-source": "//workspaceevents.googleapis.com/subscriptions/SUBSCRIPTION_ID",
            "ce-specversion": "1.0",
            "ce-subject": "//chat.googleapis.com/spaces/SPACE_ID",
            "ce-time": "2023-09-07T21:37:53.274191Z",
            "ce-type": "google.workspace.chat.message.v1.updated"
        },
        "data": "EVENT_DATA",
        "messageId": "PUBSUB_MESSAGE_ID",
        "orderingKey": "//workspaceevents.googleapis.com/subscriptions/SUBSCRIPTION_ID",
        "publishTime": "2023-09-07T21:37:53.713Z"
    }
}

Aşağıdaki alanlara dikkat edin:

  • attributes: Etkinlik türünü de içeren CloudEvent özellikleri. Bu örnekte etkinlik, alandaki güncellenmiş bir mesajla ilgilidir.
  • data: Güncellenen spaces.message kaynağıyla ilgili ayrıntıları içeren, Base64 kodlu bir dize olarak biçimlendirilmiş etkinlik verileri.
  • messageId: Google Cloud Pub/Sub mesajının tanımlayıcısı.

CloudEvents'in Google Cloud Pub/Sub mesajlarında nasıl belirtildiği hakkında daha fazla bilgi edinmek için CloudEvents için Google Cloud Pub/Sub Protokol Bağlama bakın.