Google Chat 스페이스의 일정 나열하기

이 가이드에서는 Google Chat API의 SpaceEvent 리소스에서 list() 메서드를 사용하여 스페이스의 리소스 변경사항을 나열하는 방법을 설명합니다.

SpaceEvent 리소스는 메시지, 반응, 멤버십 등 스페이스의 하위 리소스를 포함한 대상 스페이스의 변경사항을 나타냅니다. 지원되는 이벤트 유형 및 이벤트 페이로드 목록에 관한 자세한 내용은 SpaceEvent 리소스 참조 문서의 eventTypepayload 필드를 참고하세요.

요청 시간으로부터 최대 28일 전까지의 이벤트를 표시할 수 있습니다. 서버는 영향을 받는 리소스의 최신 버전이 포함된 이벤트를 반환합니다. 예를 들어 새 스페이스 멤버에 관한 이벤트를 나열하는 경우 서버는 최신 멤버십 세부정보가 포함된 Membership 리소스를 반환합니다. 요청된 기간 동안 새 구성원이 삭제된 경우 이벤트 페이로드에 빈 Membership 리소스가 포함됩니다.

이 메서드를 호출하려면 사용자 인증을 사용해야 합니다. 스페이스의 이벤트를 나열하려면 인증된 사용자가 스페이스의 구성원여야 합니다.

기본 요건

Node.js

스페이스 이벤트 목록

Chat 스페이스의 스페이스 이벤트를 나열하려면 요청에 다음을 전달합니다.

  • 요청에서 각 이벤트 유형을 지원하도록 하나 이상의 승인 범위를 지정합니다. 앱이 작동하도록 허용하는 가장 제한적인 범위를 선택하는 것이 좋습니다. 범위를 선택하려면 인증 및 승인 개요를 참고하세요.

  • ListSpaceEvents() 메서드를 호출하여 이벤트 유형의 filter를 목록에 전달합니다. 이벤트 유형을 하나 이상 지정해야 하며 날짜별로 필터링할 수도 있습니다. 지원되는 이벤트 유형 목록은 SpaceEvent 리소스의 eventType 필드 참조 문서를 참고하세요.

다음 예는 스페이스의 새 멤버십 및 메시지에 관한 이벤트를 보여줍니다.

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);

이 샘플을 실행하려면 SPACE_NAME를 스페이스의 name에 있는 ID로 바꿉니다. ListSpaces() 메서드를 호출하거나 스페이스의 URL에서 ID를 가져올 수 있습니다.

Chat API는 새 멤버십 및 메시지에 관한 페이지로 나뉜 스페이스 이벤트 목록을 반환합니다.