GWS CLI 캘린더
일정은 사람의 시간을 쓰는 자료입니다. 조회는 마음껏 하고, 등록·수정은 조심하십시오.
기본기와 인증은 GWS CLI에 있습니다.
1. 일정 보기 — +agenda
gws calendar +agenda # 다가오는 일정
gws calendar +agenda --today
gws calendar +agenda --tomorrow
gws calendar +agenda --week --format table
gws calendar +agenda --days 3
gws calendar +agenda --today --calendar '업무'
gws calendar +agenda --today --timezone Asia/Seoul읽기 전용입니다. 기본으로 계정에 붙은 모든 달력을 함께 조회하고, --calendar로 좁힐 수 있습니다. 시간대는 구글 계정 설정을 따르며 --timezone으로 덮어씁니다.
출력에 count 칸이 있습니다. 0이면 그 기간에 일정이 없다는 뜻입니다 — 명령이 실패한 게 아닙니다.
🔴 달력이 비어 보일 때 먼저 볼 것
API는 구글 계정에 저장된 일정만 봅니다. 휴대폰에서 만든 일정이 기기 로컬 달력이나 다른 계정에 저장돼 있으면 여기서 안 보입니다. “일정이 없다”고 보고하기 전에 그 일정이 어느 계정에 저장됐는지부터 확인하십시오. 폰 달력 앱의 기본 저장 계정이 구글이 아닌 경우가 드물지 않습니다.
달력 목록은 이렇게 봅니다.
gws calendar calendarList list --params '{"fields":"items(id,summary,accessRole,primary)"}'accessRole이 reader인 달력은 남이 공유해준 것이라 일정을 넣을 수 없습니다. owner·writer인 달력에만 씁니다.
2. 일정 넣기 — +insert
gws calendar +insert \
--summary '운영위원회' \
--start '2026-10-15T14:00:00+09:00' \
--end '2026-10-15T16:00:00+09:00' \
--location '품앗이 2층 회의실' \
--description '안건: 4분기 계획' \
--attendee [email protected] \
--meet| 옵션 | 쓰임 |
|---|---|
--summary --start --end | 필수 |
--calendar <ID> | 기본은 primary |
--location --description | |
--attendee <이메일> | 여러 번 반복 가능 |
--meet | 구글 미트 링크 자동 생성 |
--dry-run | 보내지 않고 요청만 확인 |
시간은 RFC 3339로 씁니다. 시간대 표기를 꼭 붙이십시오 — 2026-10-15T14:00:00 처럼 끝을 비우면 어느 시간대인지 모호해집니다. 한국이면 +09:00.
🔴 참석자를 넣으면 메일이 나간다
--attendee를 붙이면 그 사람에게 초대 메일이 갑니다. 되돌릴 수 없는 외부 행동입니다. 그리고 남의 달력에 일정을 잡는 일은 그 사람의 시간을 쓰는 결정입니다. 참석 여부를 내가 판단해서 넣지 말고, 당사자에게 확인한 뒤 넣으십시오. --dry-run을 먼저 돌려 명단을 보십시오.
3. 빈 시간 찾기 — freebusy
gws calendar freebusy query --json '{
"timeMin":"2026-10-13T00:00:00+09:00",
"timeMax":"2026-10-18T00:00:00+09:00",
"items":[{"id":"primary"},{"id":"[email protected]"}]
}'바쁜 구간만 돌려주니 일정 제목이 노출되지 않습니다. 남의 달력을 들여다보지 않고 가능한 시간을 찾을 때 적절합니다. 한 번에 달력 50개까지 조회할 수 있습니다.
4. 원시 API
# 기간 조회(반복 일정을 개별 일정으로 펼치기)
gws calendar events list --params '{
"calendarId":"primary",
"timeMin":"2026-10-01T00:00:00+09:00",
"timeMax":"2026-11-01T00:00:00+09:00",
"singleEvents":true,
"orderBy":"startTime",
"fields":"items(id,summary,start,end,location,attendees(email,responseStatus))"
}' --format table
# 검색
gws calendar events list --params '{"calendarId":"primary","q":"회의","singleEvents":true}'
# 수정 — 바꿀 필드만
gws calendar events patch --params '{"calendarId":"primary","eventId":"<ID>"}' \
--json '{"location":"온라인"}'
# 삭제
gws calendar events delete --params '{"calendarId":"primary","eventId":"<ID>"}'
# 초대 응답
gws calendar events patch --params '{"calendarId":"primary","eventId":"<ID>"}' \
--json '{"attendees":[{"email":"[email protected]","responseStatus":"accepted"}]}'반복 일정을 다룰 때 singleEvents: true를 빼면 반복 규칙 한 건으로 나옵니다. 날짜별로 보고 싶으면 반드시 붙이십시오. 붙이면 orderBy: "startTime"도 쓸 수 있습니다.
달력 자체를 만들거나 공유하는 일은 calendars·acl 리소스에 있습니다.
gws calendar calendars insert --json '{"summary":"조합 일정","timeZone":"Asia/Seoul"}'
gws calendar acl insert --params '{"calendarId":"<ID>"}' \
--json '{"role":"reader","scope":{"type":"user","value":"[email protected]"}}'5. 묶음 명령 — workflow
캘린더와 다른 서비스를 엮은 헬퍼가 따로 있습니다.
gws workflow +standup-report # 오늘 회의 + 미완료 할 일
gws workflow +meeting-prep # 다음 회의의 안건·참석자·연결된 문서
gws workflow +weekly-digest # 이번 주 회의 + 안 읽은 메일 수6. 함께 읽기
- GWS CLI — 명령 구조·인증·함정
- 구글 업무를 AI와 함께 하는 법 — 사람의 시간을 쓰는 결정은 어디서 멈추는가
- GWS CLI 지메일 · GWS CLI 구글드라이브