처음에는 Google Calendar에서 일정 시작 10분 전에 우리 서버로 Webhook을 호출해주는 줄 알았는데, 찾아보니 그런 기능은 없었음.
Google Calendar에서 지원하는 Webhook은 일정이 생성/수정/삭제될 때만 호출됨.
즉, "10분 후 일정 시작" 같은 이벤트는 직접 만들어야 함.
그래서 Google Apps Script를 사용했음.
Apps Script에서 시간 기반 트리거를 등록해 일정 주기로 실행하고, 현재 시간 기준으로 앞으로 시작할 일정을 조회한 뒤 조건에 맞
으면 우리 서버 API를 호출하는 방식으로 구현.
흐름은 아래와 같음.
{
"chatRoomId": "...",
"content": "📅 '개발 회의' 일정이 곧 시작됩니다."
}
흐름
Google Calendar
↓
Google Apps Script
(시간 기반 트리거)
↓
일정 조회
↓
조건 만족
↓
POST /v1/bot/send
↓
채팅방 알림
참고
- 동일한 일정에 대해 중복 전송되지 않도록 Event ID 등을 저장하는 로직 필요.
- Apps Script는 브라우저만 있으면 사용 가능하며 별도 설치 불필요.
- Google Calendar 자체에서 원하는 Body로 서버를 호출하는 기능은 제공하지 않음. Apps Script가 중간에서 원하는 형식으로 가공하여 호출하는 방식 사용.
'TIL' 카테고리의 다른 글
| HTTP 206 Partial Content의 비밀 (0) | 2026.06.25 |
|---|---|
| DB) AutoVaccumm이란 (0) | 2026.06.19 |
| 온프레미스 Overlay vs AWS EKS VPC CNI 차이점 정리 (0) | 2026.06.17 |
| Kube)NodePort vs LoadBalancer (0) | 2026.06.17 |
| Redis 모니터링 해보자 (0) | 2026.06.12 |