Google Chat etkinliklerine abone olma

Bu sayfada, bir Chat uygulamasının Google Workspace Events API'yi kullanarak abone olabileceği Chat etkinlikleri açıklanmaktadır. İhtiyacınız olan etkinlik türlerine karar verdikten sonra Chat'ten etkinlik almaya başlamak için bir abonelik oluşturun.

Etkinliklere abone olmanın yanı sıra Google Chat API'yi çağırarak etkinlikleri sorgulayabilirsiniz. Chat API'yi çağırarak etkinlikleri düzenli olarak alabilir veya kesinti nedeniyle bir abonelikten kaçırmış olabileceğiniz etkinlikleri yakalayabilirsiniz. Chat etkinliklerini almanın ve yanıtlamanın yolları hakkında bilgi edinmek için Chat belgelerindeki Chat'teki etkinliklerle çalışma başlıklı makaleyi inceleyin.

Desteklenen Chat etkinlikleri

Google Workspace abonelikleri, Chat'te aşağıdaki değişiklik türleriyle ilgili etkinlikleri almanıza olanak tanır:

  • Alandaki yeni, güncellenmiş veya silinmiş mesajlar.
  • Bir mesaja yeni eklenen veya kaldırılan tepkiler.
  • Alandaki yeni, güncellenmiş veya kaldırılmış üyeler.
  • Abone olduğunuz alanda yapılan değişiklikler (ör. alan adının veya açıklamasının güncellenmesi)
  • Kullanıcının müsaitlik durumunda yapılan değişiklikler.
  • Kullanıcının spaceReadState veya threadReadState değerinde yapılan değişiklikler.

Etkinlikler için izleyebileceğiniz kaynaklar

Etkinlikleri almak için izlenecek bir Chat kaynağı belirtirsiniz. Bu kaynak, aboneliğin hedef kaynağı olarak adlandırılır.

Google Workspace Events API, Chat için aşağıdaki hedef kaynakları destekler:

Hedef kaynak Biçim Sınırlamalar
Boşluk

//chat.googleapis.com/spaces/SPACE

SPACE, Chat API space kaynağının kaynak adındaki kimliktir. Kimliği, alanın URL'sinden veya spaces.list() yöntemini kullanarak alabilirsiniz.

Aboneliği yetkilendiren Chat kullanıcısı veya Chat uygulaması, Google Workspace ya da Google Hesabı üzerinden alanın üyesi olmalıdır. Desteklenenler:
Bir kullanıcının tüm alanları

//chat.googleapis.com/spaces/-

Abonelik, yalnızca kullanıcının Google Workspace veya Google Hesabı aracılığıyla üye olduğu alanlar için etkinlik alır. Yalnızca kullanıcı kimlik doğrulamasını destekler.
Kullanıcı

//cloudidentity.googleapis.com/users/USER

USER, Chat API user kaynağının kaynak adındaki kimliktir. Ayrıntılar için Google Chat kullanıcılarını tanımlama ve belirtme başlıklı makaleyi inceleyin.

Abonelik yalnızca aboneliği yetkilendiren kullanıcıyla ilgili etkinlikleri alır. Bir kullanıcı, diğer kullanıcılar adına bir aboneliği yetkilendiremez. Yalnızca kullanıcı kimlik doğrulamasını destekler.

Müşteri

//admin.googleapis.com/customers/CUSTOMER

CUSTOMER, müşteri kimliğidir. Chat uygulamasının müşteri alanı için my_customer takma adını da kullanabilirsiniz.

Abonelik, müşteri alan adı tarafından yönetilen tüm alanlar ve kullanıcılar için etkinlikler alır. Yalnızca yönetici onayıyla uygulama kimlik doğrulamasını destekler.

Abonelik oluşturma etkinlik türleri

Abonelik oluştururken almak istediğiniz etkinlik türlerini belirtmek için eventTypes[] alanını kullanın. Etkinlik türleri, CloudEvents spesifikasyonuna göre biçimlendirilir (ör. google.workspace.APPLICATION.RESOURCE.VERSION.ACTION).

Örneğin, kullanıcıların bir Chat alanına katılmasıyla ilgili etkinlikleri almak için hedef kaynak olarak alanı, etkinlik türü olarak da google.workspace.chat.membership.v1.created değerini belirtin. Belirli bir kullanıcının herhangi bir alana katılmasıyla ilgili etkinlikleri almak için hedef kaynak olarak kullanıcıyı, etkinlik türü olarak da google.workspace.chat.membership.v1.created değerini belirtin. Etkinliklerin işleyiş şekli hakkında daha fazla bilgi edinmek için Google Workspace etkinliklerinin yapısı başlıklı makaleyi inceleyin.

Aşağıdaki tabloda, alanlara ve kullanıcılara abonelikler için desteklenen etkinlik türleri gösterilmektedir. Bir etkinliği tetikleyen durumlarla ilgili istisnalar hakkında bilgi edinmek için Sınırlamalar bölümüne bakın.

Etkinlik türü Biçim Kaynak verileri
Alanlara abonelikler  
Bir mesaj yayınlandığında

google.workspace.chat.message.v1.created

space.message

Bir mesaj güncellendiğinde

google.workspace.chat.message.v1.updated

space.message

Bir ileti silindiğinde

google.workspace.chat.message.v1.deleted

space.message

Tepki oluşturulur.

google.workspace.chat.reaction.v1.created

space.message.reaction

Tepki silindiğinde

google.workspace.chat.reaction.v1.deleted

space.message.reaction

Alana bir üye eklendiğinde

google.workspace.chat.membership.v1.created

space.membership

Alandaki bir üye güncellendiğinde

google.workspace.chat.membership.v1.updated

space.membership

Bir üye alandan çıkarıldığında

google.workspace.chat.membership.v1.deleted

space.membership

Alan güncellenir.

google.workspace.chat.space.v1.updated

space

Alan silindiğinde

google.workspace.chat.space.v1.deleted

space

Kullanıcılara abonelikler  
Kullanıcı bir alanın üyesi olduğunda

Yeni üyelerin tümü etkinlikleri tetiklemez. Ayrıntılı bilgi için Sınırlamalar bölümüne bakın.

google.workspace.chat.membership.v1.created

space.membership

Kullanıcının bir alandaki üyeliği güncellendiğinde

google.workspace.chat.membership.v1.updated

space.membership

Kullanıcı, bir alanın doğrudan üyesi olmaktan çıkarıldığında

google.workspace.chat.membership.v1.deleted

space.membership

Kullanıcının alan okuma durumu güncellenir.

google.workspace.chat.spaceReadState.v1.updated

spaceReadState

Kullanıcının ileti dizisi okuma durumu güncellenir.

google.workspace.chat.threadReadState.v1.updated

threadReadState

Müşterilere abonelikler  
Google Workspace kuruluşunuzdaki herhangi bir alanda, mesajda, tepkide, üyelikte veya kullanıcının okuma durumunda bir etkinlik gerçekleştiğinde.

Alan ve kullanıcı abonelikleri için listelenen tüm etkinlik türlerini destekler.

Etkinlik türüne bağlıdır (ör. space, space.message, space.membership veya spaceReadState).

Toplu etkinlik türleri (yalnızca çıkış)

Chat uygulamanız, abone olduğunuz etkinlik türlerini almanın yanı sıra toplu etkinlikler de alabilir. Toplu etkinlik, kısa bir süre içinde gerçekleşen aynı türden birçok etkinliği temsil eden bir etkinliktir. Toplu etkinlik yükü, değiştirilen tüm kaynakların listesini içerir.

Örneğin, bir kullanıcı bir alana aynı anda 20 kullanıcı eklerse Chat uygulamanız toplu etkinlik (google.workspace.chat.membership.v1.batchCreated) alabilir. Etkinlik yükü, kullanıcı alana üyeleri eklediğinde oluşturulan tüm yeni Membership kaynaklarının listesini içerir.

Abone olduğunuz her etkinlik türü için bir toplu etkinlik alırsınız. Bu nedenle, abonelik oluştururken toplu etkinlikleri belirtmeniz gerekmez. Örneğin, yeni tepkilere (google.workspace.chat.reaction.v1.created) abone olursanız Chat uygulamanız, toplu tepki etkinliklerini (google.workspace.chat.reaction.v1.batchCreated) alacak şekilde otomatik olarak yapılandırılır.

Aşağıdaki tabloda, bir abonelik için olası toplu etkinlikler gösterilmektedir:

Toplu etkinlik türü Biçim
Birden fazla mesaj yayınlanır.

google.workspace.chat.message.v1.batchCreated

Birden fazla mesaj güncellendi.

google.workspace.chat.message.v1.batchUpdated

Birden fazla mesaj silindi.

google.workspace.chat.message.v1.batchDeleted

Birden fazla tepki oluşturulur.

google.workspace.chat.reaction.v1.batchCreated

Birden fazla tepki silindi.

google.workspace.chat.reaction.v1.batchDeleted

Abone olunan alana birden fazla üye eklenir veya abone olan kullanıcı birden fazla alana eklenir.

google.workspace.chat.membership.v1.batchCreated

Abone olunan alanda veya abone olunan kullanıcı için birden fazla üyelik güncellendiğinde.

google.workspace.chat.membership.v1.batchUpdated

Abone olunan alandan birden fazla üye kaldırıldığında veya abone olan kullanıcı birden fazla alandan kaldırıldığında

google.workspace.chat.membership.v1.batchDeleted

Alanda birden fazla güncelleme var.

google.workspace.chat.space.v1.batchUpdated

Abone olan kullanıcı için birden fazla alan okuma durumu güncellenir.

google.workspace.chat.spaceReadState.v1.batchUpdated

Abone olan kullanıcı için birden fazla ileti dizisinin okundu durumu güncellendi.

google.workspace.chat.threadReadState.v1.batchUpdated

Etkinlik verileri

Bu bölümde, Chat'teki etkinliklerle ilgili etkinlik verileri ve örnek yükler açıklanmaktadır.

Google Workspace aboneliğiniz Chat'ten bir etkinlik aldığında data alanı, etkinliğin yükünü içerir. Bu yük, değişen Google Workspace kaynağı hakkında bilgi içerir. Örneğin, bir alandaki üyelik etkinliklerine abone olduysanız bu etkinliklerin yükü, değişen spaces.membership kaynağı hakkında bilgi içerir.

Etkinlik yükündeki kaynak verileri

Abonelik oluştururken yükün kaynakla ilgili ayrıntıları mı yoksa yalnızca kaynağın adını mı içermesini istediğinizi belirtebilirsiniz. Örneğin, bir Chat alanındaki üyelerle ilgili etkinlikleri almak istiyorsanız etkinlik yükünde bir üyelik kaynağının hangi alanlarını almak istediğinizi belirtin.

Aşağıdaki tabloda, spaces/AAAABBBBBB Chat alanına abonelik için JSON yükü örnekleri verilmiştir. Aboneliğin aldığı her etkinlik için yük, etkinliğin data alanında görünür:

Örnek Etkinlik türü JSON yükü

Bir kullanıcı, alanda "Merhaba dünya" yazan bir mesaj yayınlar.

google.workspace.chat.message.v1.created

Kaynak verilerini içerir:

{
    "message":
    {
        "name": "spaces/SPACE_ID/messages/MESSAGE_ID",
        "sender":
        {
            "name": "users/USER_ID",
            "type": "HUMAN"
        },
        "createTime": "2023-09-07T21:37:36.260127Z",
        "text": "Hello world",
        "thread":
        {
            "name": "spaces/SPACE_ID/threads/THREAD_ID"
        },
        "space":
        {
            "name": "spaces/SPACE_ID"
        },
        "argumentText": "Hello world"
    }
}
      

Kaynak verileri hariç:

{
    "message":
    {
        "name": "spaces/SPACE_ID/messages/MESSAGE_ID"
    }
}
      
Bir kullanıcı alan yöneticisi olduğunda

google.workspace.chat.membership.v1.updated

Kaynak verilerini içerir:

{
    "membership":
    {
        "name": "spaces/SPACE_ID/members/MEMBER_ID",
        "state": "JOINED",
        "member":
        {
            "name": "users/USER_ID",
            "type": "HUMAN"
        },
        "createTime": "1970-01-01T00:00:00Z",
        "role": "ROLE_MANAGER"
    }
}
      

Kaynak verileri hariç:

{
    "membership":
    {
        "name": "spaces/SPACE_ID/members/MEMBER_ID"
    }
}
      
Bir kullanıcı, alanın açıklamasını "Cymbal Labs satış ekibi" olarak güncelliyor. google.workspace.chat.space.v1.updated

Kaynak verilerini içerir:

{
    "space":
    {
        "name": "spaces/SPACE_ID",
        "displayName": "Cymbal Sales",
        "spaceThreadingState": "THREADED_MESSAGES",
        "spaceType": "SPACE",
        "spaceDetails":
        {
            "description": "Sales team for Cymbal Labs."
        },
        "spaceHistoryState": "HISTORY_ON"
    }
}
      

Kaynak verileri hariç:

{
    "space":
    {
        "name": "spaces/SPACE_ID"
    }
}
      
Alana aynı anda iki Chat kullanıcısı eklendi. google.workspace.chat.membership.v1.batchCreated

Kaynak verilerini içerir:

{
    "memberships": [
        {
          "membership": {
            "name": "spaces/SPACE_ID/members/MEMBER_ID",
            "state": "JOINED",
            "member":
            {
                "name": "users/USER_ID",
                "type": "HUMAN"
            },
            "createTime": "1970-01-01T00:00:00Z",
            "role": "ROLE_MEMBER"
          }
        },
        {
          "membership": {
            "name": "spaces/SPACE_ID/members/MEMBER_ID",
            "state": "JOINED",
            "member":
            {
                "name": "users/USER_ID",
                "type": "HUMAN"
            },
            "createTime": "1970-01-01T00:00:00Z",
            "role": "ROLE_MEMBER"
          }
        }
    ]
}
      

Kaynak verileri hariç:

{
    "memberships": [
        {
          "membership": {
            "name": "spaces/SPACE_ID/members/MEMBER_ID"
          }
        },
        {
          "membership": {
            "name": "spaces/SPACE_ID/members/MEMBER_ID"
          }
        }
    ]
}
      
Bir kullanıcı, 😊 emojisiyle bir mesaja tepki veriyor. google.workspace.chat.reaction.v1.created

Kaynak verilerini içerir:

{
    "reaction":
    {
        "name": "spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID",
        "user":
        {
            "name": "users/USER_ID",
            "type": "HUMAN"
        },
        "emoji":
        {
            "unicode": "😊"
        }
    }
}
      

Kaynak verileri hariç:

{
    "reaction":
    {
        "name": "spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID"
    }
}
      
Kullanıcılar bir mesaja 😊 ve 😸 emojileriyle tepki veriyor. google.workspace.chat.reaction.v1.batchCreated

Kaynak verilerini içerir:

{
    "reactions": [
        {
          "reaction": {
            "name": "spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID",
            "user":
            {
                "name": "users/USER_ID",
                "type": "HUMAN"
            },
            "emoji":
            {
                "unicode": "😊"
            }
          }
        },
        {
          "reaction": {
            "name": "spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID",
            "user":
            {
                "name": "users/USER_ID",
                "type": "HUMAN"
            },
            "emoji":
            {
                "unicode": "😸"
            }
          }
        }
    ]
}
      

Kaynak verileri hariç:

{
    "reactions": [
      {
        "reaction": {
            "name": "spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID"
        },
        "reaction": {
            "name": "spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID",
        }
      }
    ]
}
      
Kullanıcı, okunmamış bir alanı ziyaret eder ve alanın okundu durumu güncellenir. google.workspace.chat.spaceReadState.v1.updated

Kaynak verilerini içerir:

{
  "spaceReadState": {
    "name": "users/USER_ID/spaces/SPACE_ID/spaceReadState",
    "lastReadTime": "2026-04-14T14:03:46.431760Z"
  }
}
      

Kaynak verileri hariç:

{
  "spaceReadState": {
    "name": "users/USER_ID/spaces/SPACE_ID/spaceReadState"
  }
}
      
Kullanıcı, mesaj dizisindeki bir mesajı okur ve mesaj dizisi okuma durumu güncellenir. google.workspace.chat.threadReadState.v1.updated

Kaynak verilerini içerir:

{
  "threadReadState": {
    "name": "users/USER_ID/spaces/SPACE_ID/threads/THREAD_ID/threadReadState",
    "lastReadTime": "2026-04-14T14:03:46.431760Z"
  }
}
      

Kaynak verileri hariç:

{
  "threadReadState": {
    "name": "users/USER_ID/spaces/SPACE_ID/threads/THREAD_ID/threadReadState"
  }
}
      
Kullanıcı Chat'te müsait olduğunda. google.workspace.chat.availability.v1.updated

Kaynak verilerini içerir:

{
    "availability":
    {
        "name": "users/USER_ID/availability",
        "state": "ACTIVE"
    }
}
      

Kaynak verileri hariç:

{
    "availability":
    {
        "name": "users/USER_ID/availability",
    }
}
      
Kullanıcı Chat'te boşta kaldığında. google.workspace.chat.availability.v1.updated

Kaynak verilerini içerir:

{
    "availability":
    {
        "name": "users/USER_ID/availability",
        "state": "IDLE",
    }
}
      

Kaynak verileri hariç:

{
    "availability":
    {
        "name": "users/USER_ID/availability",
    }
}
      
Kullanıcı, Chat'te müsaitlik durumunu Away olarak ayarlar. google.workspace.chat.availability.v1.updated

Kaynak verilerini içerir:

{
    "availability":
    {
        "name": "users/USER_ID/availability",
        "state": "AWAY",
    }
}
      

Kaynak verileri hariç:

{
    "availability":
    {
        "name": "users/USER_ID/availability",
    }
}
      
Kullanıcı, Chat'te müsaitlik durumunu Do not disturb olarak ayarlar. google.workspace.chat.availability.v1.updated

Kaynak verilerini içerir:

{
    "availability":
    {
        "name": "users/USER_ID/availability",
        "state": "DO_NOT_DISTURB",
        "doNotDisturbMetadata": {
          "expirationTime": "2026-03-24T18:36:31.337Z"
        }
    }
}
      

Kaynak verileri hariç:

{
    "availability":
    {
        "name": "users/USER_ID/availability",
    }
}
      
Kullanıcı, Chat'te özel durum ayarlar. google.workspace.chat.availability.v1.updated

Kaynak verilerini içerir:

{
    "availability":
    {
        "name": "users/USER_ID/availability",
        "state": "ACTIVE",
        "customStatus": {
          "text": "Be right back",
          "emoji": {
            "unicode": "👟"
          },
          "expireTime": "2026-03-24T18:38:05.583655Z"
        }
    }
}
      

Kaynak verileri hariç:

{
    "availability":
    {
        "name": "users/USER_ID/availability",
    }
}
      

Sınırlamalar ve yayınlama davranışları

Genel sınırlamalar

  • Üyelik etkinliklerini almak için kullanıcının veya Chat uygulamasının alanın doğrudan üyesi olması gerekir. Bir Google Grubu aracılığıyla bir alana dolaylı olarak eklenmiş, güncellenmiş veya kaldırılmışsa abonelik bu üyelik etkinliklerini almaz. Google Grubu üyeliklerinin işleyiş şeklini anlamak için Alana Google Grubu ekleme başlıklı makaleyi inceleyin.

Kullanıcı abonelikleri

  • Kullanıcı aboneliklerinde, doğrudan mesajlardaki veya adsız grup sohbetlerindeki (google.workspace.chat.membership.v1.created) yeni üyelerle ilgili etkinlikler yalnızca ilk mesaj yayınlandıktan sonra tetiklenir.

Müşteri abonelikleri

Müşteri abonelikleri için aşağıdaki sınırlamalar geçerlidir:

  • Google Workspace kuruluşunun en az bir Enterprise SKU lisansı olmalıdır.
  • Bir Chat uygulaması, belirli bir Google Workspace kuruluşu için yalnızca bir müşteri aboneliği oluşturabilir. Bir Google Workspace kuruluşunun toplamda en fazla beş müşteri aboneliği (farklı Chat uygulamaları tarafından oluşturulmuş) olabilir.

Müşteri abonelikleri için etkinlik yayınlama aşağıdaki genel kurallara uyar:

  • Alan etkinlikleri: Yalnızca etkinlik, Google Workspace kuruluşunuz tarafından yönetilen bir alanda gerçekleşirse yayınlanır.
  • Kullanıcı etkinlikleri: Yalnızca Google Workspace kuruluşunuza ait bir kullanıcı için etkinlik gerçekleşirse yayınlanır.

Bu kuralların tek istisnası üyelik etkinlikleridir. Aboneliğiniz, hem kuruluşunuz tarafından yönetilen alanlardan hem de harici kuruluşlar tarafından yönetilen alanlardan üyelik etkinlikleri alabilir. Ancak bu etkinliklerin nasıl yayınlanacağı, alanı hangi kuruluşun yönettiğine bağlıdır:

Google Workspace kuruluşunuz tarafından yönetilen alanlar

Google Workspace kuruluşu tarafından yönetilen bir alanda üyelik değişikliği olursa bu değişiklik alan etkinliği olarak yayınlanır.

Alan etkinliğinin kaynak adı aşağıdaki biçimi kullanır:

spaces/{spaceId}/spaceEvents/{spaceEventId}

Harici kuruluşlar tarafından yönetilen alanlar

Google Workspace kuruluşunuz tarafından yönetilen bir kullanıcının üyeliği, harici bir kuruluş tarafından yönetilen bir alanda (ör. harici bir adlandırılmış alan veya harici bir kullanıcı tarafından oluşturulan doğrudan mesaj) değişirse aboneliğiniz bu etkinliği kullanıcı etkinliği olarak alır.

Kullanıcı etkinliğinin kaynak adı aşağıdaki biçimi kullanır:

users/{userId}/userEvents/{userEventId}