Bu sayfada, Google Chat uygulamalarının Google Workspace Events API'yi kullanarak abone olabileceği Google Chat etkinlikleri açıklanmaktadır. Ne tür etkinliklere 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 etkinlik sorgulayabilirsiniz. Chat API'nin çağrılması, etkinlikleri düzenli olarak almanıza veya bir abonelikte kesinti nedeniyle kaçırmış olabileceğiniz etkinlikleri takip etmenize olanak tanır. Chat etkinliklerini alma ve yanıtlama yöntemleri hakkında daha fazla bilgi edinmek için Chat dokümanlarındaki Google Chat'teki etkinliklerle çalışma başlıklı makaleyi inceleyin.
Desteklenen Chat hedef kaynakları
Google Workspace Etkinlikleri API'si aşağıdaki abonelikleri destekler:
space
kaynak olarak gösterilen alanlar- Cloud Identity API
user
kaynakları olarak temsil edilen kullanıcılar
Desteklenen Chat etkinlikleri
Google Workspace abonelikleri, Chat'te aşağıdaki değişiklik türleri hakkında 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üncellenen alan adı veya açıklaması).
Abonelik oluşturmak için etkinlik türleri
Abonelik oluştururken, almak istediğiniz etkinlik türlerini belirtmek için eventTypes[]
alanını kullanırsınız. Etkinlik türleri CloudEvents özelliklerine göre biçimlendirilir (ör. google.workspace.APPLICATION.RESOURCE.VERSION.ACTION
).
Örneğin, Chat alanına katılan kullanıcılarla ilgili etkinlikleri almak için alanı hedef kaynak ve etkinlik türünü google.workspace.chat.membership.v1.created
olarak belirtirsiniz. Belirli bir kullanıcı hakkındaki etkinlikleri herhangi bir alana katılmak 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ı bölümüne bakın.
Aşağıdaki tabloda, alan abonelikleri ve kullanıcı abonelikleri için hangi etkinlik türlerinin desteklendiği gösterilmektedir. Bir etkinliği tetikleyen unsurlarla ilgili istisnalar hakkında bilgi edinmek için Sınırlamalar'a bakın.
Etkinlik türü | Biçim | Kaynak verileri | ||
---|---|---|---|---|
Alan abonelikleri | ||||
Bir mesaj gönderildi. |
|
|
||
Bir mesaj güncellendi. |
|
|
||
Bir mesaj silindi. |
|
|
||
Bir tepki oluşturulur. |
|
|
||
Bir tepki silinir. |
|
|
||
Alana bir üye eklenir. |
|
|
||
Alanda bir üye güncellendi. |
|
|
||
Bir üye alandan kaldırılır. |
|
|
||
Alan güncellendi. |
|
|
||
Alan silindi. |
|
|
||
Kullanıcı abonelikleri | ||||
Kullanıcı bir alanın üyesi olur.
Her yeni üye etkinlik tetiklemez. Ayrıntılar için Sınırlamalar başlıklı makaleyi inceleyin. |
|
|
||
Kullanıcının alan üyeliği güncellenir. |
|
|
||
Kullanıcı, alanın doğrudan üyesi olmaktan çıkarı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ürde 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ı 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ı üyeleri alana eklediğinde oluşturulan tüm yeni Membership
kaynaklarının bir listesini içerir.
Abone olduğunuz tüm etkinlik türleri için toplu etkinlik alırsınız. Böylece, abonelik oluştururken toplu etkinlikler belirtmeniz gerekmez. Örneğin, yeni tepkilere (google.workspace.chat.reaction.v1.created
) abone olursanız Chat uygulamanız otomatik olarak toplu tepki etkinlikleri (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 fazla mesaj yayınlanır. |
|
Birden çok mesaj güncellendi. |
|
Birden çok mesaj silindi. |
|
Birden fazla tepki oluşturulur. |
|
Birden fazla tepki silinir. |
|
Abone olunan alana birden fazla üye eklendi veya abone olan kullanıcı birden çok alana eklendi. |
|
Abone olunan alanda veya abone olan kullanıcı için birden fazla üyelik güncellenir. |
|
Abone olunan alandan birden fazla üye çıkarıldı veya abone olan kullanıcı birden çok alandan kaldırıldı. |
|
Alanda birden fazla güncelleme var. |
|
Etkinlik verileri
Bu bölümde, Chat'teki etkinliklerle ilgili etkinlik verileri ve örnek yük açıklanmaktadır.
Google Workspace aboneliğiniz Chat'ten bir etkinlik aldığında data
alanında etkinlik yükü bulunur. Bu yükte, değişen Google Workspace kaynağıyla ilgili bilgiler bulunuyor. Örneğin, bir alandaki üyelik etkinliklerine abone olduysanız bu etkinliklerin yükü değişen spaces.membership
kaynağı hakkında bilgiler içerir.
Etkinlik yükündeki kaynak verileri
Abonelik oluştururken yükün kaynakla ilgili ayrıntıları içermesini mi yoksa yalnızca kaynağın adını mı içermesini istediğinizi belirtebilirsiniz. Örneğin, bir Chat alanındaki üyeler hakkındaki etkinlikleri almak istiyorsanız üyelik kaynağının hangi alanlarını etkinlik yüküne almak istediğinizi belirtebilirsiniz.
Aşağıdaki tabloda, spaces/AAAABBBBBB
adlı 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" yazan bir mesaj yayınlıyor. |
|
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 verilerini hariç tutar
{ "message": { "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD" } } |
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 verilerini hariç tutar
{ "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321" } } |
Bir kullanıcı, alanın açıklamasını "Cymbal Labs için Satış ekibi" olarak güncelliyor. | 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 verilerini hariç tutar
{ "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 verilerini hariç tutar
{ "memberships": [ { "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321" } }, { "membership": { "name": "spaces/AAAABBBBBB/members/98765432123456789019" } } ] } |
Bir kullanıcı mesajlara 😊 emojisiyle tepki verir. | 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 içermez
{ "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222" } } |
Kullanıcılar mesajlara 😊 emoji ve 😸 emojileriyle tepki verir. | 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 içermez
{ "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 yönelik aboneliklerde, 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. Kullanıcı bir Google grubu aracılığıyla bir alana dolaylı olarak eklenir, güncellenir veya kaldırılırsa abonelik bu üyelik etkinliklerini almaz. Google Grubu üyeliklerinin işleyiş şeklini anlamak için Bir alana 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şturun.