Files

67 lines
1.8 KiB
Bash

#!/bin/bash
# Kakao Calendar 일정 조회 스크립트
set -e
# 환경변수 체크
if [ -z "$KAKAO_ACCESS_TOKEN" ]; then
echo "❌ KAKAO_ACCESS_TOKEN 환경변수가 필요합니다."
exit 1
fi
# 파라미터: today | week | month
RANGE="${1:-today}"
# 날짜 계산 (KST → UTC 변환)
case "$RANGE" in
today)
# 오늘 00:00 ~ 23:59 (KST → UTC: -9시간)
FROM=$(date -u -v-9H -v0H -v0M -v0S +"%Y-%m-%dT%H:%M:%SZ")
TO=$(date -u -v-9H -v23H -v59M -v59S +"%Y-%m-%dT%H:%M:%SZ")
;;
week)
# 이번 주 (월~일)
FROM=$(date -u -v-9H -v-mon -v0H -v0M -v0S +"%Y-%m-%dT%H:%M:%SZ")
TO=$(date -u -v-9H -v+6d -v23H -v59M -v59S +"%Y-%m-%dT%H:%M:%SZ")
;;
month)
# 이번 달
FROM=$(date -u -v-9H -v1d -v0H -v0M -v0S +"%Y-%m-%dT%H:%M:%SZ")
TO=$(date -u -v-9H -v+1m -v1d -v-1d -v23H -v59M -v59S +"%Y-%m-%dT%H:%M:%SZ")
;;
*)
echo "❌ 사용법: $0 [today|week|month]"
exit 1
;;
esac
# API 호출
RESPONSE=$(curl -s -X GET "https://kapi.kakao.com/v2/api/calendar/events" \
-H "Authorization: Bearer $KAKAO_ACCESS_TOKEN" \
-G \
--data-urlencode "calendar_id=primary" \
--data-urlencode "from=$FROM" \
--data-urlencode "to=$TO" \
--data-urlencode "limit=100")
# 결과 확인
if echo "$RESPONSE" | jq -e '.events' > /dev/null 2>&1; then
EVENT_COUNT=$(echo "$RESPONSE" | jq '.events | length')
if [ "$EVENT_COUNT" -eq 0 ]; then
echo "📅 일정이 없습니다."
exit 0
fi
echo "📅 일정 $EVENT_COUNT개 조회됨"
echo ""
# 일정 출력
echo "$RESPONSE" | jq -r '.events[] |
"제목: \(.title)\n시작: \(.time.start_at)\n종료: \(.time.end_at)\n---"'
else
echo "❌ 일정 조회 실패"
echo "$RESPONSE" | jq '.'
exit 1
fi