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 etkinlikler için sorgu oluşturabilirsiniz. Chat API'yi çağırmak, etkinlikleri düzenli olarak almanıza veya bir kesinti nedeniyle kaçırmış olabileceğiniz etkinlikleri takip etmenize olanak tanır. Chat etkinliklerini alma ve yanıtlama yöntemleri hakkında bilgi edinmek için Chat dokümanlarındaki Google Chat etkinlikleriyle çalışma bölümüne göz atın.
Desteklenen Chat hedef kaynakları
Google Workspace Events API, şu abonelikleri destekler:
space
kaynakları olarak gösterilen alanlar- Cloud Identity API
user
kaynakları olarak gösterilen kullanıcılar
Desteklenen Chat etkinlikleri
Google Workspace abonelikleri, Chat'te aşağıdaki değişiklik türleriyle ilgili etkinlikler almanıza olanak tanır:
- Alandaki yeni, güncellenmiş veya silinmiş mesajlar.
- Bir mesaja verilen yeni veya kaldırılmış tepkiler.
- Alandaki yeni, güncellenmiş veya kaldırılmış üyeler.
- Abone olduğunuz alanda yapılan değişiklikler (ör. güncellenmiş alan adı veya açıklaması).
Abonelik oluşturmak için etkinlik türleri
Abonelik oluşturduğunuzda ne tür etkinlikler almak istediğinizi belirtmek için eventTypes[]
alanını kullanırsınız. Etkinlik türleri, google.workspace.APPLICATION.RESOURCE.VERSION.ACTION
gibi CloudEvents spesifikasyonuna göre biçimlendirilir.
Örneğin, Chat alanına katılan kullanıcılarla ilgili etkinlikleri almak için alanı hedef kaynak olarak, etkinlik türünü ise google.workspace.chat.membership.v1.created
olarak belirtirsiniz. Belirli bir kullanıcının herhangi bir alana katılmasıyla ilgili etkinlikleri almak için kullanıcıyı hedef kaynak olarak, 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, alan ve kullanıcı abonelikleri için hangi etkinlik türlerinin desteklendiği gösterilmektedir. Bir etkinliği tetikleyen öğelerle 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 gönderildi. |
|
|
||
Bir mesaj güncellendi. |
|
|
||
Bir mesaj silindi. |
|
|
||
Bir tepki oluşturulur. |
|
|
||
Tepki silindiğinde |
|
|
||
Alana bir üye eklenir. |
|
|
||
Alandaki bir üye güncellendi. |
|
|
||
Alandan bir üye kaldırılır. |
|
|
||
Alan güncellendi. |
|
|
||
Alan silindi. |
|
|
||
Kullanıcı abonelikleri | ||||
Kullanıcı bir alanın üyesi olur.
Yeni üyelerin tümü etkinlikleri tetiklemez. Ayrıntılar için Sınırlamalar başlıklı makaleyi inceleyin. |
|
|
||
Kullanıcının bir alan üyeliği güncellenir. |
|
|
||
Kullanıcı bir 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ü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. Bir toplu etkinliğin yükü, değiştirilen tüm kaynakların bir listesini içerir.
Örneğin, bir kullanıcı bir alana aynı anda 20 kullanıcı eklerse Chat uygulamanız bir toplu etkinlik (google.workspace.chat.membership.v1.batchCreated
) alabilir. Etkinlik yükü, kullanıcı alana üye eklerken oluşturulan tüm yeni Membership
kaynaklarının listesini içerir.
Abone olduğunuz tüm etkinlik türleri için toplu etkinlik alırsınız. Bu nedenle, abonelik oluştururken toplu etkinlikleri belirtmeniz gerekmez. Örneğin, yeni tepkilere abone olursanız (google.workspace.chat.reaction.v1.created
) Chat uygulamanız otomatik olarak toplu tepki etkinliklerini (google.workspace.chat.reaction.v1.batchCreated
) alacak şekilde 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 çok mesaj yayınlanır. |
|
Birden fazla mesaj güncellendi. |
|
Birden fazla mesaj silinir. |
|
Birden fazla tepki oluşturulur. |
|
Birden fazla tepki silinir. |
|
Abone olunan alana birden çok üye veya abone olan kullanıcı birden fazla alana eklendi. |
|
Abone olunan alanda veya abone olan kullanıcı için birden fazla üyelik güncellenir. |
|
Abone olunan alandan birden fazla üye veya abone olan kullanıcı birden fazla alandan çıkarıldı. |
|
Alanda birden fazla güncelleme var. |
|
Etkinlik verileri
Bu bölümde, Chat'teki etkinliklerin etkinlik verileri ve örnek yükleri açıklanmaktadır.
Google Workspace aboneliğiniz Chat'ten bir etkinlik aldığında data
alanı bu etkinliğin yükünü içerir. Bu yük, değişen Google Workspace kaynağıyla ilgili bilgiler içeriyor. Örneğin, bir alandaki üyelik etkinliklerine abone olduysanız bu etkinliklerin yükü, değişen spaces.membership
kaynağıyla ilgili bilgileri içerir.
Etkinlik yükündeki kaynak verileri
Bir abonelik oluşturduğunuzda, 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 üyelik kaynağının hangi alanlarını almak istediğinizi belirtebilirsiniz.
Aşağıdaki tabloda spaces/AAAABBBBBB
Chat alanı aboneliği 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ını yayınlar. |
|
Kaynak verileri 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çtir
{ "message": { "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD" } } |
Kullanıcı, alan yöneticisi olur. |
|
Kaynak verileri 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çtir
{ "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321" } } |
Bir kullanıcı, alanın açıklamasını "Cymbal Labs Satış Ekibi" olarak güncelliyor. | google.workspace.chat.space.v1.updated |
Kaynak verileri 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çtir
{ "space": { "name": "spaces/AAAABBBBBB" } } |
Alana aynı anda iki Chat kullanıcısı eklendi. | google.workspace.chat.membership.v1.batchCreated |
Kaynak verileri 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çtir
{ "memberships": [ { "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321" } }, { "membership": { "name": "spaces/AAAABBBBBB/members/98765432123456789019" } } ] } |
Bir kullanıcı, mesaja etkileşim emojisiyle tepki veriyor. | google.workspace.chat.reaction.v1.created |
Kaynak verileri içerir
{ "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222", "user": { "name": "users/1234567890987654321", "type": "HUMAN" }, "emoji": { "unicode": "😊" } } } Kaynak verileri atlanır
{ "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222" } } |
Kullanıcılar bir mesaja alan emojileri ve 😸 emojileriyle tepki verir. | google.workspace.chat.reaction.v1.batchCreated |
Kaynak verileri 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 verileri atlanır
{ "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ı abonelikleri söz konusu olduğunda, 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. - Alan geçmişinde yapılan değişiklikler, güncellenen alan etkinliklerini tetiklemez (Etkinlik türü:
google.workspace.chat.spaces.v1.updated
). - Üyelik etkinliklerini almak için kullanıcının alanın doğrudan üyesi olması gerekir. Bir kullanıcı, 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 öğrenmek için Alana Google Grubu ekleme başlıklı makaleyi inceleyin.
İlgili konular
- Google Workspace etkinliklerinin yapısı
- OAuth kapsamlarını seçin
- Chat etkinliklerini almak için abonelik oluşturun