Google Chat에서 일정 작업하기

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

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

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

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

이벤트의 작동 방식

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

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

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

다음 표에는 Chat의 활동이 관련 Chat API 리소스에 미치는 영향과 Chat 앱에서 수신하는 이벤트 유형이 나와 있습니다.

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

Google Chat에서 이벤트 수신

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 앱은 Chat 스페이스 구성원의 변경사항에 관한 정보를 수신하려고 합니다. 스페이스에서 다음과 같은 멤버십 활동이 발생합니다.

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

멤버십 이벤트 구독

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

Google Workspace Events API를 사용하여 이벤트를 구독하는 Chat 앱
그림 2. Chat 앱은 Google Workspace Events API를 사용하여 구독을 통해 멤버십 이벤트를 수신합니다.

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

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

최근 멤버십 활동 쿼리

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

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

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

Chat API를 사용하여 이벤트를 쿼리하려면 Google Chat 스페이스의 이벤트 목록을 참고하세요.

제한사항

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