Bu sayfada, bir Google Chat uygulamasının Google Workspace Events API'yi kullanarak abone olabileceği Google Chat etkinlikleri açıklanmaktadır. Hangi etkinlik türlerine ihtiyacınız olduğuna karar verdikten sonra Google Chat'ten etkinlik almaya başlamak için abonelik oluşturun.
Etkinliklere abone olmanın yanı sıra Chat API'yi çağırarak da etkinlikleri sorgulayabilirsiniz. Chat API'yi çağırarak etkinlikleri düzenli olarak alabilir veya kesinti nedeniyle aboneliğinizdeki kaçırmış olabileceğiniz etkinlikleri takip edebilirsiniz. Chat etkinliklerini alma ve yanıtlama yöntemleri hakkında bilgi edinmek için Chat dokümanlarında Google Chat'teki etkinliklerle çalışma başlıklı makaleyi inceleyin.
Desteklenen Chat etkinlikleri
Google Workspace abonelikleri, Chat'te aşağıdaki türde değişikliklerle ilgili etkinlikler almanızı sağlar:
- Alandaki yeni, güncellenmiş veya silinmiş mesajlar.
- Bir mesaja 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ı veya açıklaması güncellendiyse)
Etkinlikler için izleyebileceğiniz kaynaklar
Etkinlik almak için, aboneliğin hedef kaynağı olarak adlandırılan ve izlenecek bir Chat kaynağı belirtirsiniz.
Google Workspace Events API, Chat için aşağıdaki hedef kaynakları destekler:
Hedef kaynak | Biçim | Sınırlamalar |
---|---|---|
Boşluk |
Burada SPACE, Chat API |
Aboneliğe yetki veren Chat kullanıcısının, Google Workspace veya Google Hesabı üzerinden alanın üyesi olması gerekir. |
Bir kullanıcının tüm alanları |
|
Abonelik yalnızca kullanıcının Google Workspace veya Google Hesabı üzerinden üye olduğu alanlarla ilgili etkinlikleri alır. |
Kullanıcı |
Burada USER, Chat API |
Abonelik yalnızca aboneliği yetkilendiren kullanıcıyla ilgili etkinlikleri alır. Kullanıcılar, başka kullanıcılar adına abonelik yetkilendiremez. |
Abonelik oluşturmak için etkinlik türleri
Abonelik oluştururken hangi tür etkinlikleri almak istediğinizi belirtmek için eventTypes[]
alanını kullanırsınız. Etkinlik türleri, CloudEvents spesifikasyonuna göre biçimlendirilir (ör. google.workspace.APPLICATION.RESOURCE.VERSION.ACTION
).
Örneğin, bir Chat alanına katılan kullanıcılarla ilgili etkinlikleri almak için alanı hedef kaynak, etkinlik türünü ise google.workspace.chat.membership.v1.created
olarak belirtirsiniz. Belirli bir kullanıcının herhangi bir alana katılması ile ilgili etkinlikleri almak için kullanıcıyı hedef kaynak, etkinlik türünü ise google.workspace.chat.membership.v1.created
olarak belirtirsiniz. 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 aboneliklerde hangi etkinlik türlerinin desteklendiği 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 | ||
---|---|---|---|---|
Alan abonelikleri | ||||
Bir mesaj yayınlandığında |
|
|
||
Bir ileti güncellendiğinde |
|
|
||
Bir mesaj silindiğinde |
|
|
||
Tepki oluşturulur. |
|
|
||
Tepki silinir. |
|
|
||
Alana bir üye eklendiğinde |
|
|
||
Alandaki bir üye güncellenir. |
|
|
||
Bir üye alandan çıkarılır. |
|
|
||
Alan güncellenir. |
|
|
||
Alan silinir. |
|
|
||
Kullanıcı abonelikleri | ||||
Kullanıcı bir alanın üyesi olur.
Tüm yeni üyeler etkinlik tetiklemez. Ayrıntılı bilgi için Sınırlamalar bölümüne bakın. |
|
|
||
Kullanıcının bir alana üyeliği güncellenir. |
|
|
||
Kullanıcı, alanın doğrudan üyesi olarak kaldırılır. |
|
|
Toplu etkinlik türleri (yalnızca çıkış)
Chat uygulamanız, abone olduğunuz etkinlik türlerinin 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. Bir toplu etkinliğin yükü, değiştirilen tüm kaynakların listesini içerir.
Örneğin, bir kullanıcı aynı anda bir alana 20 kullanıcı eklerse Chat uygulamanız bir toplu etkinlik (google.workspace.chat.membership.v1.batchCreated
) alabilir. Etkinlik yükü, kullanıcı üyeleri alana eklediğinde oluşturulan tüm yeni Membership
kaynaklarının listesini içerir.
Abone olduğunuz tüm etkinlik türleri 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ıyor. |
|
Birden fazla mesaj güncellenir. |
|
Birden fazla mesaj silinir. |
|
Birden fazla tepki oluşturulur. |
|
Birden fazla tepki silinir. |
|
Abone olunan alana birden fazla üye eklenmiş veya abone olan kullanıcı birden fazla alana eklenmişse. |
|
Abone olunan alanda veya abone olan kullanıcı için birden fazla üyelik güncellenir. |
|
Abone olunan alandan birden fazla üye kaldırılır veya abone olan kullanıcı birden fazla alandan kaldırılır. |
|
Alanda birden fazla güncelleme varsa |
|
Etkinlik verileri
Bu bölümde, Chat'teki etkinlikler için etkinlik verileri ve örnek yük verileri açıklanmaktadır.
Google Workspace aboneliğiniz Chat'ten bir etkinlik aldığında data
alanı, etkinliğin yükü içerir. Bu yükü, değişen Google Workspace kaynağıyla ilgili bilgiler 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ü alanında, üyelik kaynağının hangi alanlarını almak istediğinizi belirtebilirsiniz.
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" mesajı yayınlar. |
|
Kaynak verilerini içerir
{ "message": { "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD", "sender": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "2023-09-07T21:37:36.260127Z", "text": "Hello world", "thread": { "name": "spaces/AAAABBBBBB/threads/EEEEEEEEEEEE" }, "space": { "name": "spaces/AAAABBBBBB" }, "argumentText": "Hello world" } } Kaynak verileri hariç tutulur.
{ "message": { "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD" } } |
Bir kullanıcı alan yöneticisi olur. |
|
Kaynak verilerini içerir
{ "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321", "state": "JOINED", "member": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MANAGER" } } Kaynak verileri hariç tutulur.
{ "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321" } } |
Bir kullanıcı, alanın açıklamasını "Cymbal Labs satış ekibi" olarak günceller. | google.workspace.chat.space.v1.updated |
Kaynak verilerini içerir
{ "space": { "name": "spaces/AAAABBBBBB", "displayName": "Cymbal Sales", "spaceThreadingState": "THREADED_MESSAGES", "spaceType": "SPACE", "spaceDetails": { "description": "Sales team for Cymbal Labs." }, "spaceHistoryState": "HISTORY_ON" } } Kaynak verileri hariç tutulur.
{ "space": { "name": "spaces/AAAABBBBBB" } } |
Alana aynı anda iki Chat kullanıcısı eklendi. | google.workspace.chat.membership.v1.batchCreated |
Kaynak verilerini içerir
{ "memberships": [ { "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321", "state": "JOINED", "member": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MEMBER" } }, { "membership": { "name": "spaces/AAAABBBBBB/members/987654321234567890", "state": "JOINED", "member": { "name": "users/987654321234567890", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MEMBER" } } ] } Kaynak verileri hariç tutulur.
{ "memberships": [ { "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321" } }, { "membership": { "name": "spaces/AAAABBBBBB/members/98765432123456789019" } } ] } |
Bir kullanıcı, bir mesaja 😊 emojisiyle tepki veriyor. | google.workspace.chat.reaction.v1.created |
Kaynak verilerini içerir
{ "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222", "user": { "name": "users/1234567890987654321", "type": "HUMAN" }, "emoji": { "unicode": "😊" } } } Kaynak verilerini atlar
{ "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222" } } |
Kullanıcılar bir mesaja 😊 ve 😸 emojileriyle tepki verebilir. | google.workspace.chat.reaction.v1.batchCreated |
Kaynak verilerini içerir
{ "reactions": [ { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222", "user": { "name": "users/1234567890987654321", "type": "HUMAN" }, "emoji": { "unicode": "😊" } } }, { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444", "user": { "name": "users/98765431234564321", "type": "HUMAN" }, "emoji": { "unicode": "😸" } } } ] } Kaynak verilerini atlar
{ "reactions": [ { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222" }, "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444", } } ] } |
Sınırlamalar
-
Kullanıcılara aboneliklerde, doğrudan mesajlarda veya adsız grup sohbetlerinde (
google.workspace.chat.membership.v1.created
) yeni üyelerle ilgili etkinlikler yalnızca ilk mesaj gönderildikten sonra tetiklenir. - Üyelik etkinliklerini almak için kullanıcının alanın doğrudan üyesi olması gerekir. Bir kullanıcı, bir alana Google Grubu üzerinden dolaylı olarak eklendiyse, güncellendiyse veya kaldırıldıysa abonelik bu üyelik etkinliklerini almaz. Google grubu üyeliklerinin işleyiş şeklini anlamak için Alanlara Google grubu ekleme başlıklı makaleyi inceleyin.
İlgili konular
- Google Workspace etkinliklerinin yapısı
- OAuth kapsamlarını seçme
- Chat etkinliklerini almak için abonelik oluşturma