Google Chat 이벤트 구독하기

이 페이지에서는 Google Chat 앱에서 실행되는 Google Chat 이벤트를 설명합니다. Google Workspace Events API를 사용하여 구독할 수 있습니다. 특정 광고 단위를 필요에 따라 다양한 유형의 구독을 선택하면 Google Chat의 일정입니다.

이벤트를 구독하는 것 외에도 Chat API입니다 Chat API를 호출하면 이벤트를 주기적으로 가져오거나 구독에서 놓쳤을 수 있는 이벤트에 대한 알림을 제공하는 방법을 보여줍니다 배우기 위해 자세한 내용은 Google Chat에 포함된 일정 관리 Chat 문서

지원되는 Chat 이벤트

Google Workspace를 구독하면 채팅에서 다음과 같은 변경사항이 적용됩니다.

  • 신규, 업데이트 또는 삭제된 메일 표시됩니다.
  • 신규 또는 삭제된 리액션 추가할 수 있습니다.
  • 신규, 업데이트 또는 삭제된 회원 표시됩니다.
  • 스페이스 변경사항 업데이트된 스페이스 이름 또는 설명 등 내가 구독 중인 정보를 공유할 수 있습니다.

이벤트를 모니터링할 수 있는 리소스

이벤트를 수신하려면 모니터링할 Chat 리소스를 지정하고, 구독의 대상 리소스라고 합니다.

Google Workspace Events API는 다음 대상 리소스를 지원합니다. 채팅:

대상 리소스 방식 제한사항
공백

//chat.googleapis.com/spaces/SPACE

여기서 SPACE는 <ph type="x-smartling-placeholder"></ph> Chat API space 리소스의 리소스 이름입니다. ID는 스페이스의 URL에서 가져오거나 <ph type="x-smartling-placeholder"></ph> spaces.list() 메서드를 사용하여 지도 가장자리에 패딩을 추가할 수 있습니다.

구독을 승인하는 Chat 사용자는 Google Workspace 또는 Google 계정.
사용자의 모든 스페이스

//chat.googleapis.com/spaces/-

구독은 사용자가 있는 스페이스의 이벤트만 수신합니다. Google Workspace 또는 Google 계정을 통한 회원의 액세스 권한
사용자

//cloudidentity.googleapis.com/users/USER

여기서 USER는 <ph type="x-smartling-placeholder"></ph> Chat API user 리소스의 리소스 이름입니다. 자세한 내용은 식별 및 설정 Google Chat 사용자

구독은 사용자가 보내는 이벤트만 수신합니다. 정기 결제를 승인했습니다. 사용자가 구독을 승인할 수 없습니다. 할 수 있습니다.

구독 생성을 위한 이벤트 유형

구독을 만들 때 eventTypes[] 드림 필드를 사용하여 수신하려는 이벤트 유형을 지정합니다. 이벤트 유형: 다음과 같이 CloudEvents 사양에 따라 형식이 지정됩니다. google.workspace.APPLICATION.RESOURCE.VERSION.ACTION

예를 들어 사용자의 채팅 참여에 관한 이벤트를 수신합니다. 스페이스에서 대상 리소스로 스페이스를 지정하고 이벤트 유형을 google.workspace.chat.membership.v1.created 특정 날짜에 대한 이벤트를 수신하기 위해 사용자가 스페이스에 참여할 때 사용자를 대상 리소스로 지정하고 이벤트 유형을 google.workspace.chat.membership.v1.created로 지정합니다. 자세히 알아보려면 자세한 내용은 Google Workspace의 구조 이벤트를 사용하세요.

다음 표에는 구독에 지원되는 이벤트 유형이 나와 있습니다. 자동으로 구독합니다 GCP Console의 제한사항을 참조하세요.

이벤트 유형 방식 리소스 데이터
스페이스 구독  
메시지가 게시됩니다.

google.workspace.chat.message.v1.created

space.message

메시지가 업데이트됩니다.

google.workspace.chat.message.v1.updated

space.message

메시지가 삭제됩니다.

google.workspace.chat.message.v1.deleted

space.message

반응이 생성됩니다.

google.workspace.chat.reaction.v1.created

space.message.reaction

반응이 삭제되었습니다.

google.workspace.chat.reaction.v1.deleted

space.message.reaction

멤버가 스페이스에 추가됩니다.

google.workspace.chat.membership.v1.created

space.membership

스페이스에서 멤버가 업데이트됩니다.

google.workspace.chat.membership.v1.updated

space.membership

멤버가 스페이스에서 삭제됩니다.

google.workspace.chat.membership.v1.deleted

space.membership

스페이스가 업데이트되었습니다.

google.workspace.chat.space.v1.updated

space

스페이스가 삭제되었습니다.

google.workspace.chat.space.v1.deleted

space

사용자 구독  
사용자가 스페이스의 구성원이 됩니다.

모든 신규 회원이 이벤트를 트리거하는 것은 아닙니다. 자세한 내용은 제한사항을 참고하세요.

google.workspace.chat.membership.v1.created

space.membership

사용자의 스페이스 멤버십이 업데이트됩니다.

google.workspace.chat.membership.v1.updated

space.membership

사용자가 스페이스의 직속 멤버에서 삭제됩니다.

google.workspace.chat.membership.v1.deleted

space.membership

일괄 이벤트 유형 (출력 전용)

구독하는 이벤트 유형을 수신할 수 있을 뿐 아니라 채팅 앱이 일괄 이벤트를 수신할 수도 있습니다. 일괄 이벤트 짧은 시간 내에 발생하는 동일한 유형의 여러 이벤트를 나타내는 이벤트입니다. 확인할 수 있습니다 일괄 이벤트의 페이로드에는 변경된 모든 리소스를 배포합니다

예를 들어 사용자가 동시에 하나의 스페이스에 20명의 사용자를 추가하는 경우 채팅 앱이 일괄 이벤트를 수신할 수 있음 (google.workspace.chat.membership.v1.batchCreated) 이벤트 페이로드에는 사용자가 생성할 때 생성된 모든 새 Membership 리소스의 목록입니다. 님이 멤버를 스페이스에 추가했습니다.

구독하는 모든 이벤트 유형에 대해 일괄 이벤트를 수신하므로 구독을 만들 때 일괄 이벤트를 지정할 필요가 없습니다. 대상 예를 들어 새 리액션을 구독하는 경우 (google.workspace.chat.reaction.v1.created), 내 채팅 앱이 배치를 수신하도록 자동으로 구성됨 반응 이벤트 (google.workspace.chat.reaction.v1.batchCreated)입니다.

다음 표는 구독에 가능한 일괄 이벤트를 보여줍니다.

일괄 이벤트 유형 방식
여러 메시지가 게시됩니다.

google.workspace.chat.message.v1.batchCreated

여러 메시지가 업데이트됩니다.

google.workspace.chat.message.v1.batchUpdated

여러 개의 메시지가 삭제되었습니다.

google.workspace.chat.message.v1.batchDeleted

여러 리액션이 생성됩니다.

google.workspace.chat.reaction.v1.batchCreated

여러 리액션이 삭제되었습니다.

google.workspace.chat.reaction.v1.batchDeleted

구독한 스페이스에 여러 멤버가 추가되었거나 구독한 사용자가 여러 스페이스에 추가되었습니다.

google.workspace.chat.membership.v1.batchCreated

구독한 스페이스에서 또는 구독한 사용자에게 여러 멤버십이 업데이트됩니다.

google.workspace.chat.membership.v1.batchUpdated

구독 중인 스페이스에서 멤버 여러 명이 삭제되었거나 구독 중인 사용자가 여러 스페이스에서 삭제되었습니다.

google.workspace.chat.membership.v1.batchDeleted

스페이스에 여러 업데이트가 있습니다.

google.workspace.chat.space.v1.batchUpdated

이벤트 데이터

이 섹션에서는 채팅

Google Workspace 구독에서 다음에서 이벤트를 수신하는 경우 채팅, data 드림 필드에는 이벤트의 페이로드가 포함됩니다. 이 페이로드에는 변경된 Google Workspace 리소스입니다. 예를 들어, 스페이스의 멤버십 이벤트인 경우 이러한 이벤트의 페이로드에는 정보: spaces.membership 드림 확인할 수 있습니다

이벤트 페이로드의 리소스 데이터

구독을 만들 때 페이로드의 제공 여부를 지정할 수 있습니다. 리소스에 대한 세부정보 또는 리소스의 이름만 포함할 수 있습니다. 대상 예를 들어 채팅에서 구성원에 대한 이벤트를 수신하려는 경우 스페이스에서 수신하려는 멤버십 리소스의 입력란을 지정할 수 있습니다. 이벤트 페이로드에 포함됩니다.

다음 표에는 구독의 JSON 페이로드 예시가 나와 있습니다. Chat 스페이스 spaces/AAAABBBBBB 코드가 실행되는 각 이벤트에 대해 구독이 수신되면 페이로드가 이벤트의 data 필드에 표시됩니다.

이벤트 유형 JSON 페이로드

사용자가 스페이스에 'Hello world'라는 메시지를 게시합니다.

google.workspace.chat.message.v1.created

리소스 데이터 포함
{
    "message":
    {
        "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD",
        "sender":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "createTime": "2023-09-07T21:37:36.260127Z",
        "text": "Hello world",
        "thread":
        {
            "name": "spaces/AAAABBBBBB/threads/EEEEEEEEEEEE"
        },
        "space":
        {
            "name": "spaces/AAAABBBBBB"
        },
        "argumentText": "Hello world"
    }
}
      
리소스 데이터 제외
{
    "message":
    {
        "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD"
    }
}
      
사용자가 스페이스 관리자가 됩니다.

google.workspace.chat.membership.v1.updated

리소스 데이터 포함
{
    "membership":
    {
        "name": "spaces/AAAABBBBBB/members/1234567890987654321",
        "state": "JOINED",
        "member":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "createTime": "1970-01-01T00:00:00Z",
        "role": "ROLE_MANAGER"
    }
}
      
리소스 데이터 제외
{
    "membership":
    {
        "name": "spaces/AAAABBBBBB/members/1234567890987654321"
    }
}
      
사용자가 스페이스에 대한 설명을 'Cymbal Labs 영업팀'으로 업데이트합니다. google.workspace.chat.space.v1.updated
리소스 데이터 포함
{
    "space":
    {
        "name": "spaces/AAAABBBBBB",
        "displayName": "Cymbal Sales",
        "spaceThreadingState": "THREADED_MESSAGES",
        "spaceType": "SPACE",
        "spaceDetails":
        {
            "description": "Sales team for Cymbal Labs."
        },
        "spaceHistoryState": "HISTORY_ON"
    }
}
      
리소스 데이터 제외
{
    "space":
    {
        "name": "spaces/AAAABBBBBB"
    }
}
      
Chat 사용자 2명이 동시에 스페이스에 추가되었습니다. google.workspace.chat.membership.v1.batchCreated
리소스 데이터 포함
{
    "memberships": [
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/1234567890987654321",
            "state": "JOINED",
            "member":
            {
                "name": "users/1234567890987654321",
                "type": "HUMAN"
            },
            "createTime": "1970-01-01T00:00:00Z",
            "role": "ROLE_MEMBER"
          }
        },
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/987654321234567890",
            "state": "JOINED",
            "member":
            {
                "name": "users/987654321234567890",
                "type": "HUMAN"
            },
            "createTime": "1970-01-01T00:00:00Z",
            "role": "ROLE_MEMBER"
          }
        }
    ]
}
      
리소스 데이터 제외
{
    "memberships": [
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/1234567890987654321"
          }
        },
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/98765432123456789019"
          }
        }
    ]
}
      
사용자는 😊 이모티콘을 사용하여 메시지에 반응합니다. google.workspace.chat.reaction.v1.created
리소스 데이터 포함
{
    "reaction":
    {
        "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222",
        "user":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "emoji":
        {
            "unicode": "😊"
        }
    }
}
      
리소스 데이터 생략
{
    "reaction":
    {
        "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222"
    }
}
      
사용자는 😊 이모티콘과 받으세요 이모티콘으로 메시지에 반응합니다. google.workspace.chat.reaction.v1.batchCreated
리소스 데이터 포함
{
    "reactions": [
        {
          "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222",
            "user":
            {
                "name": "users/1234567890987654321",
                "type": "HUMAN"
            },
            "emoji":
            {
                "unicode": "😊"
            }
          }
        },
        {
          "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444",
            "user":
            {
                "name": "users/98765431234564321",
                "type": "HUMAN"
            },
            "emoji":
            {
                "unicode": "😸"
            }
          }
        }
    ]
}
      
리소스 데이터 생략
{
    "reactions": [
      {
        "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222"
        },
        "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444",
        }
      }
    ]
}
      

제한사항

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