졸업작품 15일차

임선구·2025년 5월 30일

졸업작품

목록 보기
15/29
post-thumbnail

오늘의 잔디


✅ 2025년 5월 30일 개발 기록 – Kakao 메시지 API를 통한 일정 알림 구현

📌 오늘 목표

  • JWT 인증된 사용자에게
  • 📅 내일 일정이 있을 경우
  • 카카오톡 "나에게 보내기" 메시지 전송 자동화

🛠️ 오늘 구현한 주요 내용

1. ✅ 카카오 메시지 API – 나에게 보내기 방식 전환

  • 기존 친구 UUID 방식(receiver_uuids)에서 → 기본 템플릿 전송 방식으로 변경
  • https://kapi.kakao.com/v2/api/talk/memo/default/send 사용

2. ✅ 템플릿 메시지 등록 및 연동

  • 카카오 Developers에서 피드형 템플릿 생성
  • template_object JSON 구성

  • 메시지 내용: "⏰ 내일 일정이 있어요! 지금 확인해보세요."
  • 버튼: "일정보기" → 캘린더 웹앱(index.html) 이동 링크 포함

3. ✅ Spring Scheduler로 자동 발송 구현

  • @Scheduled(cron = "0 0 22 * * *"): 매일 22:00에 실행
  • 내일 날짜 기준으로 사용자별 일정을 조회
  • 사용자 access_token 확인 후 → KakaoMessageService 통해 메시지 발송

4. ✅ KakaoMessageService 로직 리팩토링

  • 기존 template_id 방식 제거
  • template_objectx-www-form-urlencoded로 전송
  • 예외 처리 및 디버그 로그 추가 (System.out.println("[디버그용] access_token = ..."))

🧪 테스트 결과

  • 콘솔 응답:

    { "result_code": 0 }
  • 카카오톡 메시지 정상 수신 확인 🟢

  • "일정보기" 버튼 클릭 시 캘린더 페이지로 정상 이동


🧠 오늘의 깨달음

  • "receiver_uuids"는 친구 대상, "나에게 보내기"는 별도 API이다.
  • Kakao Developers 템플릿 등록과 실제 메시지 전송 방식이 완전히 다르다.
  • template_object JSON은 --data-urlencode로 인코딩해서 전송해야 에러가 안 남!

🔜 다음 목표

  • 버튼 링크에 날짜 파라미터 추가 (ex. index.html?date=2025-05-31)
  • 다국어 대응 템플릿 구성
  • 메시지 발송 로그 저장(DB)

profile
끝까지 가면 내가 다 이겨

0개의 댓글