Google Chat etkinliklerine abone olma

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

//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 edinebilirsiniz.

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ı

//chat.googleapis.com/spaces/-

Abonelik yalnızca kullanıcının Google Workspace veya Google Hesabı üzerinden üye olduğu alanlarla ilgili etkinlikleri alır.
Kullanıcı

//cloudidentity.googleapis.com/users/USER

Burada USER, Chat API user kaynağının kaynak adındaki kimliktir. Ayrıntılı bilgi için Google Chat kullanıcılarını tanımlama ve belirtme başlıklı makaleyi inceleyin.

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

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 silinir.

google.workspace.chat.reaction.v1.deleted

space.message.reaction

Alana bir üye eklendiğinde

google.workspace.chat.membership.v1.created

space.membership

Alandaki bir üye güncellenir.

google.workspace.chat.membership.v1.updated

space.membership

Bir üye alandan çıkarılır.

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 etkinlik 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 alana üyeliği güncellenir.

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ış)

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.

google.workspace.chat.message.v1.batchCreated

Birden fazla mesaj 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 eklenmiş veya abone olan kullanıcı birden fazla alana eklenmişse.

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 kaldırılır veya abone olan kullanıcı birden fazla alandan kaldırılır.

google.workspace.chat.membership.v1.batchDeleted

Alanda birden fazla güncelleme varsa

google.workspace.chat.space.v1.batchUpdated

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.

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 verileri hariç tutulur.
{
    "message":
    {
        "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD"
    }
}
      
Bir 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 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.