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

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

Tepki silindiğinde

google.workspace.chat.reaction.v1.deleted

space.message.reaction

Alana bir üye eklenir.

google.workspace.chat.membership.v1.created

space.membership

Alandaki bir üye güncellendi.

google.workspace.chat.membership.v1.updated

space.membership

Alandan bir üye 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.

Yeni üyelerin tümü etkinlikleri 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 bir alan üyeliği güncellenir.

google.workspace.chat.membership.v1.updated

space.membership

Kullanıcı bir 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ü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.

google.workspace.chat.message.v1.batchCreated

Birden fazla mesaj güncellendi.

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 çok üye veya abone olan kullanıcı birden fazla 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 veya abone olan kullanıcı birden fazla alandan çıkarı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 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.

google.workspace.chat.message.v1.created

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.

google.workspace.chat.membership.v1.updated

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.