이 페이지에서는 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는 다음 대상 리소스를 지원합니다. 채팅:
대상 리소스 | 방식 | 제한사항 |
---|---|---|
공백 |
여기서 SPACE는
<ph type="x-smartling-placeholder"></ph>
Chat API |
구독을 승인하는 Chat 사용자는 Google Workspace 또는 Google 계정. |
사용자의 모든 스페이스 |
|
구독은 사용자가 있는 스페이스의 이벤트만 수신합니다. Google Workspace 또는 Google 계정을 통한 회원의 액세스 권한 |
사용자 |
여기서 USER는
<ph type="x-smartling-placeholder"></ph>
Chat API |
구독은 사용자가 보내는 이벤트만 수신합니다. 정기 결제를 승인했습니다. 사용자가 구독을 승인할 수 없습니다. 할 수 있습니다. |
구독 생성을 위한 이벤트 유형
구독을 만들 때
eventTypes[]
드림
필드를 사용하여 수신하려는 이벤트 유형을 지정합니다. 이벤트 유형:
다음과 같이 CloudEvents 사양에 따라 형식이 지정됩니다.
google.workspace.APPLICATION.RESOURCE.VERSION.ACTION
예를 들어 사용자의 채팅 참여에 관한 이벤트를 수신합니다.
스페이스에서 대상 리소스로 스페이스를 지정하고 이벤트 유형을
google.workspace.chat.membership.v1.created
특정 날짜에 대한 이벤트를 수신하기 위해
사용자가 스페이스에 참여할 때 사용자를 대상 리소스로 지정하고
이벤트 유형을 google.workspace.chat.membership.v1.created
로 지정합니다. 자세히 알아보려면
자세한 내용은 Google Workspace의 구조
이벤트를 사용하세요.
다음 표에는 구독에 지원되는 이벤트 유형이 나와 있습니다. 자동으로 구독합니다 GCP Console의 제한사항을 참조하세요.
이벤트 유형 | 방식 | 리소스 데이터 | ||
---|---|---|---|---|
스페이스 구독 | ||||
메시지가 게시됩니다. |
|
|
||
메시지가 업데이트됩니다. |
|
|
||
메시지가 삭제됩니다. |
|
|
||
반응이 생성됩니다. |
|
|
||
반응이 삭제되었습니다. |
|
|
||
멤버가 스페이스에 추가됩니다. |
|
|
||
스페이스에서 멤버가 업데이트됩니다. |
|
|
||
멤버가 스페이스에서 삭제됩니다. |
|
|
||
스페이스가 업데이트되었습니다. |
|
|
||
스페이스가 삭제되었습니다. |
|
|
||
사용자 구독 | ||||
사용자가 스페이스의 구성원이 됩니다.
모든 신규 회원이 이벤트를 트리거하는 것은 아닙니다. 자세한 내용은 제한사항을 참고하세요. |
|
|
||
사용자의 스페이스 멤버십이 업데이트됩니다. |
|
|
||
사용자가 스페이스의 직속 멤버에서 삭제됩니다. |
|
|
일괄 이벤트 유형 (출력 전용)
구독하는 이벤트 유형을 수신할 수 있을 뿐 아니라 채팅 앱이 일괄 이벤트를 수신할 수도 있습니다. 일괄 이벤트 짧은 시간 내에 발생하는 동일한 유형의 여러 이벤트를 나타내는 이벤트입니다. 확인할 수 있습니다 일괄 이벤트의 페이로드에는 변경된 모든 리소스를 배포합니다
예를 들어 사용자가 동시에 하나의 스페이스에 20명의 사용자를 추가하는 경우
채팅 앱이 일괄 이벤트를 수신할 수 있음
(google.workspace.chat.membership.v1.batchCreated
) 이벤트 페이로드에는
사용자가 생성할 때 생성된 모든 새 Membership
리소스의 목록입니다.
님이 멤버를 스페이스에 추가했습니다.
구독하는 모든 이벤트 유형에 대해 일괄 이벤트를 수신하므로
구독을 만들 때 일괄 이벤트를 지정할 필요가 없습니다. 대상
예를 들어 새 리액션을 구독하는 경우
(google.workspace.chat.reaction.v1.created
), 내
채팅 앱이 배치를 수신하도록 자동으로 구성됨
반응 이벤트 (google.workspace.chat.reaction.v1.batchCreated
)입니다.
다음 표는 구독에 가능한 일괄 이벤트를 보여줍니다.
일괄 이벤트 유형 | 방식 |
---|---|
여러 메시지가 게시됩니다. |
|
여러 메시지가 업데이트됩니다. |
|
여러 개의 메시지가 삭제되었습니다. |
|
여러 리액션이 생성됩니다. |
|
여러 리액션이 삭제되었습니다. |
|
구독한 스페이스에 여러 멤버가 추가되었거나 구독한 사용자가 여러 스페이스에 추가되었습니다. |
|
구독한 스페이스에서 또는 구독한 사용자에게 여러 멤버십이 업데이트됩니다. |
|
구독 중인 스페이스에서 멤버 여러 명이 삭제되었거나 구독 중인 사용자가 여러 스페이스에서 삭제되었습니다. |
|
스페이스에 여러 업데이트가 있습니다. |
|
이벤트 데이터
이 섹션에서는 채팅
Google Workspace 구독에서 다음에서 이벤트를 수신하는 경우
채팅,
data
드림
필드에는 이벤트의 페이로드가 포함됩니다. 이 페이로드에는
변경된 Google Workspace 리소스입니다. 예를 들어,
스페이스의 멤버십 이벤트인 경우 이러한 이벤트의 페이로드에는
정보:
spaces.membership
드림
확인할 수 있습니다
이벤트 페이로드의 리소스 데이터
구독을 만들 때 페이로드의 제공 여부를 지정할 수 있습니다. 리소스에 대한 세부정보 또는 리소스의 이름만 포함할 수 있습니다. 대상 예를 들어 채팅에서 구성원에 대한 이벤트를 수신하려는 경우 스페이스에서 수신하려는 멤버십 리소스의 입력란을 지정할 수 있습니다. 이벤트 페이로드에 포함됩니다.
다음 표에는 구독의 JSON 페이로드 예시가 나와 있습니다.
Chat 스페이스 spaces/AAAABBBBBB
코드가 실행되는 각 이벤트에 대해
구독이 수신되면 페이로드가 이벤트의 data
필드에 표시됩니다.
예 | 이벤트 유형 | JSON 페이로드 |
---|---|---|
사용자가 스페이스에 'Hello world'라는 메시지를 게시합니다. |
|
리소스 데이터 포함
{ "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" } } |
사용자가 스페이스 관리자가 됩니다. |
|
리소스 데이터 포함
{ "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 그룹 추가하기
관련 주제
- Google Workspace 이벤트의 구조
- OAuth 범위 선택
- 구독을 만들어 Chat 이벤트 수신