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 그룹을 통해 스페이스에 간접적으로 추가, 업데이트 또는 삭제된 경우 구독은 이러한 멤버십 이벤트를 수신하지 않습니다. Google 그룹 멤버십 작동 방식을 알아보려면 스페이스에 Google 그룹 추가를 참고하세요.