일정 관리 - 일정 생성 서버 API 연동

박웅비

2021.04.15읽음 3437

method.setRequestBody("{\"ical\": \"BEGIN:VCALENDAR\r\n" +
"VERSION:2.0\r\n" +
"PRODID:Naver Calendar\r\n" +
"CALSCALE:GREGORIAN\r\n" +
"BEGIN:VTIMEZONE\r\n" +
"TZID:Asia/Seoul\r\n" +
"BEGIN:STANDARD\r\n" +
"DTSTART:19700101T000000\r\n" +
"TZNAME:GMT+09:00\r\n" +
"TZOFFSETFROM:+0900\r\n" +
"TZOFFSETTO:+0900\r\n" +
"END:STANDARD\r\n" +
"END:VTIMEZONE\r\n" +
"BEGIN:VEVENT\r\n" +
"SEQUENCE:0\r\n" +
"CLASS:PUBLIC\r\n" +
"TRANSP:OPAQUE\r\n" +
"UID:6E12DA93-8B43-4576-9A8A-31B4BDC8BDCF_xell_1409882048@example.com\r\n" +
"DTSTART;TZID=Asia/Seoul:20140905T110000\r\n" +
"DTEND;TZID=Asia/Seoul:20140905T120000\r\n" +
"SUMMARY:매주반복 샘플\r\n" +
"DESCRIPTION:상세 설명영역\r\n" +
"LOCATION:여기에서\r\n" +
"RRULE:FREQ=WEEKLY;BYDAY=FR;INTERVAL=1;UNTIL=20141030T120000\r\n" +
"ORGANIZER;CN=홍길동:mailto:gildong.hong@example.com\r\n" +
"ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=참석자:mailto:user01@example.com\r\n" +
"CREATED:20140905T015408Z\r\n" +
"LAST-MODIFIED:20140905T015408Z\r\n" +
"DTSTAMP:20140905T015409Z\r\n" +
"END:VEVENT\r\n" +
"END:VCALENDAR\"}")
위 처럼 서버 API 연동에 나와있는 sample 데이터로 요청 시 
response={"requestMethod":"POST","responseStatus":"0","elapseTime":"27","requestTime":"2021-04-15 17:36:38","requestMapping":"/v1/{accountId}/calendars/{calendarId}/events","response":"IllegalArgumentException","requestUid":"deoakcwv","requestContentType":"application/json; charset=UTF-8","requestParamMap":"{ical=BEGIN:VCALENDARVERSION:2.0PRODID:Naver CalendarCALSCALE:GREGORIANBEGIN:VTIMEZONETZID:Asia/SeoulBEGIN:STANDARDDTSTART:19700101T000000TZNAME:GMT+09:00TZOFFSETFROM:+0900TZOFFSETTO:+0900END:STANDARDEND:VTIMEZONEBEGIN:VEVENTSEQUENCE:0CLASS:PUBLICTRANSP:OPAQUEUID:6E12DA93-8B43-4576-9A8A-31B4BDC8BDCF_xell_1409882048@example.comDTSTART;TZID=Asia/Seoul:20140905T110000DTEND;TZID=Asia/Seoul:20140905T120000SUMMARY:매주반복 샘플DESCRIPTION:상세 설명영역LOCATION:여기에서RRULE:FREQ=WEEKLY;BYDAY=FR;INTERVAL=1;UNTIL=20141030T120000ORGANIZER;CN=홍길동:mailto:gildong.hong@example.comATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=참석자:mailto:user01@example.comCREATED:20140905T015408ZLAST-MODIFIED:20140905T015408ZDTSTAMP:20140905T015409ZEND:VEVENTEND:VCALENDAR}","domain":"calendar","code":"SERVICE_UNAVAILABLE","message":"Service fail"}

위처럼 에러가 발생하는데 어느 부분이 잘못됬는지 알 수 있을까요 !?

댓글1

  • 업데이트 된 답글입니다.

    branches

    원인이 여러가지가 있을것 같습니다. 우선 리퀘스트 인코딩이 utf-8 인지 확인해 보시구요
    그다음 캐리지리턴문자를 \r\n 이 아닌 \n 으로 해보세요

    2021.04.15

    0
이전 글캘린더 생성후 리턴된 캘린더 아이디를 이용한 일정생성 오류의 원인이 뭘까요? API문서의 예제를 그대로 사용해도 에러가 발생하네요.
다음 글네이버 캘린더 자료를 활용한 프로그램 개발
목록

궁금한 점을 해결하지 못하셨나요?
지금 바로 NAVER WORKS 사용자들에게 물어보세요!