Bir Google Chat alanındaki etkinlikleri listeleme

Bu kılavuzda, bir alandaki kaynaklarda yapılan değişiklikleri listelemek için Google Chat API'nin SpaceEvent kaynağındaki list() yönteminin nasıl kullanılacağı açıklanmaktadır.

SpaceEvent kaynağı, hedef alandaki bir değişikliği temsil eder. Bu değişiklik, alanın mesajlar, tepkiler ve üyelikler gibi alt kaynakları da kapsar. Desteklenen etkinlik türleri ve etkinlik yükü listesi hakkında daha fazla bilgi için SpaceEvent kaynak referans dokümanının eventType ve payload alanlarına bakın.

Etkinlikleri, istek tarihinden 28 gün öncesine kadar listeleyebilirsiniz. Sunucu, etkilenen kaynağın en son sürümünü içeren etkinlikleri döndürür. Örneğin, yeni alan üyeleriyle ilgili etkinlikleri listelerseniz sunucu, en son üyelik ayrıntılarını içeren Membership kaynaklarını döndürür. İstenen dönemde yeni üyeler kaldırıldıysa etkinlik yükü boş bir Membership kaynağı içerir.

Bu yöntemi çağırmak için kullanıcı kimlik doğrulamasını kullanmanız gerekir. Bir alandaki etkinlikleri listelemek için kimliği doğrulanmış kullanıcının alanın üyesi olması gerekir.

Ön koşullar

Node.js

Alan etkinliklerini listeleme

Bir Chat alanındaki alan etkinliklerini listelemek için isteğinizde aşağıdakileri iletin:

  • İsteğinizde her etkinlik türünü desteklemek için bir veya daha fazla yetkilendirme kapsamı belirtin. En iyi uygulama olarak, uygulamanızın çalışmasına izin veren en kısıtlayıcı kapsamı seçin. Kapsam seçmek için Kimlik doğrulama ve yetkilendirmeye genel bakış başlıklı makaleyi inceleyin.

  • Listelenecek etkinlik türlerinin filter değerini ileterek ListSpaceEvents() yöntemini çağırın. En az bir etkinlik türü belirtmeniz gerekir. Ayrıca tarihe göre de filtreleme yapabilirsiniz. Desteklenen etkinlik türlerinin listesi için SpaceEvent kaynağı referans belgelerinin eventType alanına bakın.

Aşağıdaki örnekte, bir alandaki yeni üyelikler ve mesajlarla ilgili etkinlikler listelenmektedir:

Node.js

import {createClientWithUserCredentials} from './authentication-utils.js';

// Authorization scopes based on the event types
const USER_AUTH_OAUTH_SCOPES = [
  'https://www.googleapis.com/auth/chat.memberships.readonly',
  'https://www.googleapis.com/auth/chat.messages.readonly'
];

// This sample shows how to list space events with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    // Replace SPACE_NAME here
    parent: 'spaces/SPACE_NAME',
    // A required filter. Filters events about new memberships and messages
    filter: 'eventTypes:"google.workspace.chat.membership.v1.created" OR eventTypes:"google.workspace.chat.message.v1.created"'
  };

  // Make the request
  const pageResult = chatClient.listSpaceEventsAsync(request);

  // Handle the response. Iterating over pageResult will yield results and
  // resolve additional pages automatically.
  for await (const response of pageResult) {
    console.log(response);
  }
}

main().catch(console.error);

Bu örneği çalıştırmak için SPACE_NAME yerine alanın name kimliğini girin. Kimliği, ListSpaces() yöntemini çağırarak veya alanın URL'sinden alabilirsiniz.

Chat API, yeni üyelikler ve mesajlarla ilgili sayfalara ayrılmış bir alan etkinlikleri listesi döndürür.