Google Chat etkinliklerine abone olma

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.

google.workspace.chat.message.v1.created

space.message

Bir mesaj güncellendi.

google.workspace.chat.message.v1.updated

space.message

Bir mesaj silindi.

google.workspace.chat.message.v1.deleted

space.message

Bir tepki oluşturulur.

google.workspace.chat.reaction.v1.created

space.message.reaction

Bir tepki silinir.

google.workspace.chat.reaction.v1.deleted

space.message.reaction

Alana bir üye eklenir.

google.workspace.chat.membership.v1.created

space.membership

Alanda bir üye güncellendi.

google.workspace.chat.membership.v1.updated

space.membership

Bir üye alandan kaldırılır.

google.workspace.chat.membership.v1.deleted

space.membership

Alan güncellendi.

google.workspace.chat.space.v1.updated

space

Alan silindi.

google.workspace.chat.space.v1.deleted

space

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.

google.workspace.chat.membership.v1.created

space.membership

Kullanıcının alan üyeliği güncellenir.

google.workspace.chat.membership.v1.updated

space.membership

Kullanıcı, alanın doğrudan üyesi olmaktan çıkarılır.

google.workspace.chat.membership.v1.deleted

space.membership

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.

google.workspace.chat.message.v1.batchCreated

Birden çok mesaj güncellendi.

google.workspace.chat.message.v1.batchUpdated

Birden çok mesaj silindi.

google.workspace.chat.message.v1.batchDeleted

Birden fazla tepki oluşturulur.

google.workspace.chat.reaction.v1.batchCreated

Birden fazla tepki silinir.

google.workspace.chat.reaction.v1.batchDeleted

Abone olunan alana birden fazla üye eklendi veya abone olan kullanıcı birden çok alana eklendi.

google.workspace.chat.membership.v1.batchCreated

Abone olunan alanda veya abone olan kullanıcı için birden fazla üyelik güncellenir.

google.workspace.chat.membership.v1.batchUpdated

Abone olunan alandan birden fazla üye çıkarıldı veya abone olan kullanıcı birden çok alandan kaldırıldı.

google.workspace.chat.membership.v1.batchDeleted

Alanda birden fazla güncelleme var.

google.workspace.chat.space.v1.batchUpdated

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.

google.workspace.chat.message.v1.created

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.

google.workspace.chat.membership.v1.updated

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

  • Yeni üyelerle (google.workspace.chat.membership.v1.created) ilgili etkinliklerde, alan türü doğrudan mesaj veya grup mesajıysa etkinlikler, alanda ilk mesajın yayınlanmasından sonra tetiklenir.
  • Yeni üyelerle ilgili etkinliklerde, etkinlikler yalnızca alan oluşturulduktan sonra üyeler eklendiğinde tetiklenir. Alanı oluşturan kullanıcı, yeni bir üye etkinliğini tetiklemez.
  • 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.