Google Chat에서 일정 작업하기

이 페이지에서는 Google Chat 앱이 Google Chat의 이벤트를 수신하고 이에 응답하는 방법을 설명합니다.

Google Chat 이벤트는 스페이스의 새 메시지와 같이 Chat의 활동 또는 변경사항을 나타냅니다. 채팅 앱은 이벤트를 사용하여 발생한 상황을 이해하고 사용자에게 의미 있는 방식으로 조치를 취하거나 응답할 수 있습니다.

다음은 이벤트를 사용하는 방법의 몇 가지 예입니다.

  • 키워드나 구문을 확인하는 등 스페이스에서 새 메시지를 모니터링하고 응답합니다.
  • 스페이스에 참여하는 사용자에게 환영 메시지를 보내 스페이스 가이드라인을 설명하거나 Chat 앱을 효과적으로 사용하는 방법에 관한 팁을 공유합니다.
  • Chat 활동을 추적하고 분석합니다. 예를 들어 신규 회원 또는 반응이나 답장이 가장 많은 메시지에 대한 월간 보고서를 보낼 수 있습니다.
  • 메시지 플랫폼 간 커뮤니케이션 예를 들어 사용자는 Chat을 종료하지 않고도 다른 메시지 플랫폼에서 사용자와 메시지를 주고받을 수 있습니다.

이벤트 작동 방식

Google Chat에서 문제가 발생할 때마다 Google Chat API 리소스가 생성, 업데이트 또는 삭제됩니다. Chat에서는 이벤트를 사용하여 발생한 활동 유형 및 영향을 받은 Chat API 리소스에 대한 정보를 채팅 앱에 전달합니다.

Google Chat 스페이스에 게시된 메시지가 이벤트를 트리거하는 방식의 예
그림 1. 사용자가 Chat 스페이스에 메시지를 게시하면 Message 리소스가 생성됩니다. 그러면 Chat에서 새 메시지에 대한 데이터가 포함된 이벤트를 만듭니다.

Chat은 이벤트를 유형별로 분류합니다. 이벤트 유형을 사용하면 필요한 정보 유형만 필터링하고 수신할 수 있으며, 유사한 활동을 동일한 방식으로 처리할 수 있습니다.

다음 표는 Chat의 활동이 관련 Chat API 리소스에 미치는 영향과 채팅 앱에서 수신하는 이벤트 유형을 보여줍니다.

활동 Chat API 리소스 이벤트 유형
사용자가 Chat 스페이스에 메시지를 게시하는 경우 Message 리소스가 생성됩니다. 새 메시지
사용자가 스페이스 관리자가 됩니다. Membership 리소스가 업데이트됩니다. 업데이트된 멤버십
사용자가 메시지에 반응합니다. Reaction 리소스가 생성됩니다. 새 반응
사용자가 스페이스에서 나갑니다. Membership 리소스가 삭제됩니다. 멤버십이 삭제되었습니다.

Google Chat에서 이벤트 수신

이벤트를 수신하려면 채팅 앱에서 다음 중 하나를 수행할 수 있습니다.

  • Google Workspace Events API를 사용하여 이벤트를 구독하여 발생하는 이벤트를 수신합니다.
  • Chat API를 호출하여 최근 이벤트를 쿼리합니다.

다음 표에서는 이벤트 쿼리 또는 구독의 차이점과 이유를 설명합니다.

이벤트 구독 이벤트 쿼리
사용 사례
  • 실시간으로 이벤트를 처리하거나 응답하세요.
  • 사용자의 멤버십 활동을 모니터링하고 모니터링할 새 스페이스를 찾습니다.
  • 주기적으로 또는 트리거를 통해 이벤트를 처리하거나 응답합니다.
  • 구독에서 누락된 이벤트 (서비스 중단 또는 비활성 구독으로 인해)를 가져옵니다.
API Google Workspace Events API Chat API
이벤트 소스 스페이스 및 사용자 스페이스만
지원되는 이벤트
  • 메시지
  • 멤버십
  • 리액션
  • 공백

지원되는 이벤트 유형 목록은 Google Workspace Events API 문서의 구독 만들기 이벤트 유형을 참고하세요.
  • 메시지
  • 멤버십
  • 리액션
  • 공백

지원되는 이벤트 유형 목록은 Chat API 참조 문서의 spaceEvents 리소스를 확인하세요.
이벤트 형식 CloudEvent 사양에 따라 형식이 지정된 Google Cloud Pub/Sub 메시지입니다. 자세한 내용은 Google Workspace 이벤트의 구조를 참고하세요. Chat API 리소스( spaces.spaceEvent)
이벤트 데이터 리소스 데이터가 있거나 없는 Base64 인코딩 문자열입니다. 페이로드 예시는 이벤트 데이터를 참조하세요. 리소스 데이터가 포함된 JSON 페이로드 일부 이벤트 유형에는 특정 리소스 필드만 포함됩니다. 페이로드 예시는 참조 문서를 확인하세요.

예: 스페이스의 멤버십 관련 이벤트 쿼리 또는 구독

이 예에서 채팅 앱은 Chat 공간 멤버의 변경사항에 관한 정보를 수신하려고 합니다. 스페이스에서는 다음 멤버십 활동이 발생합니다.

  • 사용자가 스페이스에 참여하면 Membership 리소스가 생성되고 새 구성원 이벤트가 트리거됩니다.
  • 사용자는 스페이스 관리자가 되어 사용자의 Membership 리소스를 업데이트하고 업데이트된 멤버 이벤트를 트리거합니다.
  • 사용자가 스페이스를 나가면 사용자의 Membership 리소스가 삭제되고 구성원이 삭제됨 이벤트가 트리거됩니다.

멤버십 이벤트 구독

실시간으로 이벤트를 수신하기 위해 Chat 앱은 Google Workspace Events API subscriptions.create() 메서드를 호출하여 모든 유형의 멤버십 이벤트 스페이스를 구독합니다. 정기 결제를 만든 후 채팅 앱이 멤버십 이벤트 수신을 시작할 수 있습니다.

Google Workspace Events API를 사용하여 이벤트를 구독하는 채팅 앱
그림 2. 채팅 앱은 Google Workspace Events API를 사용하여 정기 결제를 통해 멤버십 이벤트를 수신합니다.

그림 2에서 채팅 앱에 활성 스페이스 구독이 있으므로 앱은 스페이스의 멤버십이 변경될 때마다 이벤트를 수신합니다. 그러면 채팅 앱은 스페이스에 참여한 회원에게 비공개 환영 메시지를 게시하는 등의 활동을 실시간으로 처리하거나 응답할 수 있습니다.

Google Workspace Events API를 사용하여 구독을 만드는 방법에 대한 자세한 내용은 Google Workspace Events API 문서를 참조하세요.

최근 멤버십 이벤트 쿼리

Chat 앱은 멤버십 이벤트가 발생할 때 이를 수신하는 대신 Chat API를 호출하여 멤버십 활동과 관련된 최근 스페이스 이벤트를 나열할 수 있습니다.

Chat API를 사용하여 이벤트를 쿼리하는 채팅 앱
그림 3. 채팅 앱은 Chat API로 스페이스 이벤트를 쿼리하여 최근 멤버십 이벤트를 수신합니다.

그림 3에서 채팅 앱은 모든 멤버십 활동이 발생한 후 Chat API spaces.spaceEvents.list() 메서드를 호출하고 신규, 업데이트된 멤버십 이벤트, 삭제된 멤버십 이벤트를 기준으로 쿼리를 필터링합니다. Chat API는 각 멤버십 변경사항을 나타내는 spaceEvent 리소스 목록을 반환합니다. 그러면 채팅 앱은 지난 7일 동안의 스페이스 멤버십 활동 요약이 포함된 주간 메시지 게시와 같은 최근 활동을 기반으로 처리하거나 응답할 수 있습니다.

Chat API를 사용하여 이벤트를 쿼리하려면 Google Chat 스페이스의 이벤트 나열을 참조하세요.

제한사항

  • 사용자 구독, 채팅 메시지 또는 이름이 지정되지 않은 그룹 채팅 (google.workspace.chat.membership.v1.created)의 새 회원에 대한 이벤트는 첫 번째 메시지가 게시된 후에만 트리거됩니다.
  • 스페이스 기록을 변경해도 업데이트된 스페이스 이벤트 (이벤트 유형: google.workspace.chat.spaces.v1.updated)가 트리거되지 않습니다.
  • 멤버십 이벤트를 수신하려면 사용자가 스페이스의 직속 멤버여야 합니다. 사용자가 Google 그룹을 통해 스페이스에 간접적으로 추가, 업데이트 또는 삭제된 경우 구독은 이러한 멤버십 이벤트를 수신하지 않습니다. Google 그룹 멤버십의 작동 방식을 알아보려면 스페이스에 Google 그룹 추가를 참조하세요.