Google Chat etkinliklerine abone olma

Bu sayfada, 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ğırdığınızda, etkinlikleri düzenli olarak alabilir veya kesinti nedeniyle bir abonelikte kaçırmış olabileceğiniz etkinlikleri yakalayabilirsiniz. Chat etkinliklerini alma ve yanıtlama yöntemleri hakkında bilgi edinmek için Chat belgelerindeki Google Chat'teki etkinliklerle çalışma başlıklı makaleyi inceleyin.

Desteklenen sohbet etkinlikleri

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

  • Alana yeni, güncellenmiş veya silinmiş mesajlar gönderildiğinde
  • Mesajlara eklenen veya kaldırılan tepkiler
  • Alana yeni eklenen, güncellenen veya kaldırılan üyeler.
  • Abone olduğunuz alanla ilgili değişiklikler (ör. alan adının veya açıklamasının güncellenmesi)

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

Burada 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ı üzerinden üye olduğu alanlardaki etkinlikleri alır. Yalnızca kullanıcı kimlik doğrulaması desteklenir.
Kullanıcı

//cloudidentity.googleapis.com/users/USER

Burada USER, Chat API user kaynağının kaynak adındaki kimliktir. Ayrıntılar için Google Chat kullanıcılarını belirleme 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 abonelik yetkilendiremez. Yalnızca kullanıcı kimlik doğrulaması desteklenir.

Abonelik oluşturmak için kullanılan etkinlik türleri

Abonelik oluşturduğunuzda, hangi etkinlik türlerini almak istediğinizi belirtmek için eventTypes[] alanını kullanırsınız. Etkinlik türleri, CloudEvents spesifikasyonuna göre biçimlendirilir. Örneğin, 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ıyla 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, alan abonelikleri ve kullanıcı abonelikleri için hangi etkinlik türlerinin desteklendiği gösterilmektedir. Hangi işlemlerin etkinlik tetiklediğiyle ilgili istisnalar hakkında bilgi edinmek için Sınırlamalar başlıklı makaleyi inceleyin.

Etkinlik türü Biçim Kaynak verileri
Alanlara abone olma  
Bir ileti yayınlandığında

google.workspace.chat.message.v1.created

space.message

Bir ileti güncellendiğinde

google.workspace.chat.message.v1.updated

space.message

Bir mesaj 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 üye eklendiğinde

google.workspace.chat.membership.v1.created

space.membership

Alana üye güncellendiğinde

google.workspace.chat.membership.v1.updated

space.membership

Bir üye alandan kaldırıldığında

google.workspace.chat.membership.v1.deleted

space.membership

Alan güncellenir.

google.workspace.chat.space.v1.updated

space

Alan silinir.

google.workspace.chat.space.v1.deleted

space

Kullanıcı abonelikleri  
Kullanıcı bir alanın üyesi olur.

Tüm yeni üyeler 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ı, alanın doğrudan üyesi olarak kaldırılır.

google.workspace.chat.membership.v1.deleted

space.membership

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

Abone olduğunuz etkinlik türlerini almanın yanı sıra sohbet uygulamanız 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ı 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 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 sohbet 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 abonelikle ilgili olası toplu etkinlikler gösterilmektedir:

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

google.workspace.chat.message.v1.batchCreated

Birden fazla ileti güncellenir.

google.workspace.chat.message.v1.batchUpdated

Birden fazla mesaj silinir.

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 eklenmesi veya abone olunan kullanıcının birden fazla alana eklenmesi

google.workspace.chat.membership.v1.batchCreated

Abonelik yapılan alanda veya abonelik yapılan kullanıcı için birden fazla üyelik güncellenir.

google.workspace.chat.membership.v1.batchUpdated

Abonelik alınan alandan birden fazla üye kaldırıldığında veya abone kullanıcı birden fazla alandan kaldırıldığında

google.workspace.chat.membership.v1.batchDeleted

Alanın birden fazla güncellemesi var.

google.workspace.chat.space.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ğıyla ilgili bilgileri 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 etkinlikler almak istiyorsanız etkinlik yükünde hangi üyelik kaynağı alanlarını almak istediğinizi belirtebilirsiniz.

Aşağıdaki tabloda, Chat alanı spaces/AAAABBBBBB 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ınlıyor.

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ç tutulur:

{
    "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ç tutulur:

{
    "membership":
    {
        "name": "spaces/SPACE_ID/members/MEMBER_ID"
    }
}
      
Bir kullanıcı, alanın açıklamasını "Cymbal Labs için satış ekibi" olarak günceller. 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ç tutulur:

{
    "space":
    {
        "name": "spaces/SPACE_ID"
    }
}
      
İki Chat kullanıcısı aynı anda alana 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ç tutulur:

{
    "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ç tutulur:

{
    "reaction":
    {
        "name": "spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID"
    }
}
      
Kullanıcılar, 😊 ve 😸 emojileriyle bir mesaja 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ç tutulur:

{
    "reactions": [
      {
        "reaction": {
            "name": "spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID"
        },
        "reaction": {
            "name": "spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID",
        }
      }
    ]
}
      

Sınırlamalar

  • Kullanıcı abonelikleri için, doğrudan mesajlardaki veya adsız grup sohbetlerindeki yeni üyelerle ilgili etkinlikler (google.workspace.chat.membership.v1.created) yalnızca ilk mesaj gönderildikten sonra tetiklenir.
  • Üyelik etkinliklerini almak için kullanıcının veya Chat uygulamasının alanın doğrudan üyesi olması gerekir. Google Grubu aracılığıyla alana dolaylı olarak eklenen, güncellenen veya alandan kaldırılan üyelerle ilgili üyelik etkinlikleri aboneliğe yansıtılmaz. Google Grubu üyeliklerinin nasıl çalıştığını anlamak için Alana Google Grubu ekleme başlıklı makaleyi inceleyin.