매일 정해진 시간에 카카오톡 메시지를 자동으로 보내는 작은 프로그램을 만들었어요.
원리는 단순합니다. Vercel cron으로 매일 오전 10시에 함수를 실행하고, 그 안에서 카카오 API를 호출해서 "나에게 보내기"로 메시지를 쏘는 것.
생각보다 막히는 데가 있었고, 같은 상황에서 헤맸던 분들이 있을 것 같아서 정리해봤어요.
막힌 것 ① 환경변수를 등록했는데 API가 계속 인증 실패
Vercel 대시보드에서 KAKAO_REST_API_KEY를 등록하고 배포했는데, API 호출할 때마다 인증 오류가 났어요.
로컬에서 vercel env pull로 확인해보면 값이 있어 보이는데 실제로는 없는 것처럼 동작하는 상황.
원인: vercel env pull은 암호화된 환경변수를 빈 문자열("")로 마스킹해서 내려줘요. 실제로 등록이 됐는지 확인하려면 vercel env ls에서 해당 키가 "Encrypted" 로 표시되는지 봐야 합니다.
해결: 환경변수를 다시 정확히 설정하고, vercel deploy --prod로 재배포해야 새 값이 적용돼요. 환경변수 바꿨다고 끝이 아니라 재배포가 필요하다는 것, 처음엔 몰랐어요.
막힌 것 ② KOE010 Bad client credentials
환경변수 문제 해결하고 나서 다시 호출했더니 이번엔 KOE010 Bad client credentials 에러가 나왔어요.
키가 맞는 것 같은데 왜 자격증명 오류가 나는 건지 한참 찾았습니다.
원인: 카카오 개발자 콘솔에서 클라이언트 시크릿이 "사용함"으로 설정되어 있으면, API 요청할 때 REST API 키뿐만 아니라 client_secret 값도 같이 보내야 해요. 저는 키만 보내고 있었던 거예요.
해결: 별도로 시크릿 값을 관리할 생각이 없다면, 콘솔에서 클라이언트 시크릿을 "사용 안 함"으로 끄면 바로 해결됩니다.
참고로 연동이 제대로 됐는지 확인하는 방법:
curl -X POST https://kauth.kakao.com/oauth/token \ -d grant_type=refresh_token \ -d client_id=<키> \ -d refresh_token=dummy응답이
KOE010이면 키·시크릿 문제,KOE322면 자격증명은 통과된 거예요.
결국 어떻게 됐냐면
두 가지 막힌 지점을 넘고 나서, 지금은 매일 오전 10시에 카카오톡 메시지가 정확하게 오고 있어요.
카카오 API 자체는 문서도 잘 돼 있고 연동 구조도 단순한 편인데, 처음 셋업할 때 이 두 가지에서 예상보다 시간을 많이 썼어요. 비슷한 상황에서 막히신 분들한테 조금이라도 도움이 됐으면 합니다.
'1인 개발 노트' 카테고리의 다른 글
| "코딩은 전문가만 하는 것!" 그러다 직접 만들게 된 이야기 (0) | 2026.06.11 |
|---|---|
| 유료 출퇴근 관리 프로그램 끊은 이유 [ 소규모 매장 체크리스트] (0) | 2026.06.09 |
| 직원이 퇴근을 안 찍고 갔어요 — 자정에 자동으로 잡아주게 만들기 (0) | 2026.06.04 |
| 서버 비용 0원으로 버티기 — 무료 한도 12칸 안에 기능 다 욱여넣기 (0) | 2026.06.02 |
| 시급·월급·주휴수당 섞인 직원 급여명세서, 직접 만들면서 알게 된 것 (3) | 2026.05.31 |