---
type: note
kind: Explainer
tags: ['apps-script']
status: release
ctime: 2024-12-31
mtime: 2026-07-27
generated: { by: claude/opus-5, at: 2026-07-27T12:58:39Z }
verified: { by: claude/opus-5, at: 2026-08-19T00:00:00Z }
sources:
  - id: github-rbbydotdev-someday
    resource: https://github.com/rbbydotdev/someday
---

Apps Script로 캘린더 예약을 만들 때 쓰는 건 결국 API 두 개다.

`Calendar.Freebusy.query`로 바쁜 일정을 받아 근무 요일·근무 시간과 겹치는 슬롯을 빼면 예약 가능한 슬롯이 남는다. 예약은 `CalendarApp.getCalendarById`로 이벤트를 만들고 `sendInvites: true`로 초대 메일까지 보낸다.

Freebusy는 슬롯을 계산할 때와 실제로 예약할 때 두 번 조회한다 — 그 사이에 일정이 생길 수 있으니.

---

- https://github.com/rbbydotdev/someday
