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ğında list() yönteminin nasıl kullanılacağı açıklanmaktadır.

SpaceEvent kaynağı, mesajlar, tepkiler ve üyelikler gibi alanın alt kaynakları da dahil olmak üzere hedef alanda yapılan bir değişikliği temsil eder. Desteklenen etkinlik türleri ve etkinlik yükleri listesi hakkında daha fazla bilgi için SpaceEvent kaynak referans dokümanının eventType ve payload alanlarına bakın.

İstek zamanından 28 gün öncesine kadar olan etkinlikleri 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ı 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ğinizdeki 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çme hakkında bilgi edinmek 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ğının eventType alanıyla ilgili referans belgelerine bakın.

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

Node.js

chat/client-libraries/cloud/list-space-events-user-cred.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 sayfalandırılmış bir alan etkinlikleri listesi döndürür.