½ºÇÁ¸µ ºÎÆ®¿¡¼ ±¸±Û API ¿¬µ¿ (2) Calendar API »ç¿ëÇϱâ
ÀÌÀü ±Û¿¡ À̾î Spring Boot Application¿¡¼ Calendar API »ç¿ëÇÏ´Â ³»¿ëÀÔ´Ï´Ù.
ÀÌ Àü ±Û Spring Boot Application¿¡¼ ±¸±Û Calendar API ¿¬µ¿ (1) ³»¿ëÀº ´ëºÎºÐÀÇ ±¸±Û API¿¡¼ ÇÊ¿ä·ÎÇÏ´Â ±¸±Û Oauth ÀÎÁõ¿¡ ´ëÇÑ ³»¿ëÀÌ¿´°í ´ÙÀ½Àº Calendar ¼ºñ½º¸¦ »ý¼ºÇÏ´Â °úÁ¤ ÀÔ´Ï´Ù.
ÀÌÀü ±Û ¿¡¼ »ý¼ºÇÑ Util¿¡ Calendar ¼ºñ½º¸¦ »ý¼ºÇÏ´Â ¸Þ¼Òµå¸¦ ÀÛ¼ºÇÏ¿´½À´Ï´Ù.
1 2 3 4 5 6 7 8 9 10 11 | public static com.google.api.services.calendar.Calendar getCalendarService() { try { Credential credential = authorize(); return new com.google.api.services.calendar.Calendar.Builder( HTTP_TRANSPORT, JSON_FACTORY, credential) .setApplicationName(APPLICATION_NAME) .build(); }catch(Exception e){ return null; } } | cs |
Dependency·Î Ãß°¡ÇÏ¿´´ø Calendar ¶óÀ̺귯¸®¿Í À§ °úÁ¤ÀÇ ±¸±Û ÀÎÁõ °´Ã¼ÀÎ credentialÀ» »ç¿ëÇÏ¿© Canlendar ¼ºñ½º¸¦ »ý¼ºÇÕ´Ï´Ù.
ÀÌÁ¦ »ý¼ºµÈ Canlendar ¼ºñ½º¸¦ »ç¿ëÇغ¸°Ú½À´Ï´Ù. google api¿¡¼ Á¦°øÇØÁÖ´Â Calendar ¼ºñ½º´Â API È£ÃâÀ» ½±°Ô µµ¿ÍÁÖ´Â ¼ºñ½ºÀÔ´Ï´Ù. API Reference¸¦ ÅëÇØ »ç¿ëÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ¼ºñ½º¸¦ ÅëÇØ Oauth ·Î±×ÀÎÇÑ °èÁ¤¿¡¼ Á¢±Ù °¡´ÉÇÑ ´Þ·ÂÀ» °¡Á®¿Ã ¼ö ÀÖ½À´Ï´Ù. Á¶È¸¸¦ ¿øÇÏ´Â ´Þ·ÂÀÇ °íÀ¯ id¸¦ ÀÌ¿ëÇÏ¿© Á¶È¸°¡ °¡´ÉÇÕ´Ï´Ù.
Á¶È¸¸¦ ¿øÇÏ´Â ´Þ·ÂÀÇ È¯°æ¼³Á¤À» µé¾î°¡¸é Ķ¸°´õID¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °ªÀ» ¼ºñ½ºÀÇ Å° °ªÀ¸·Î Á¶È¸¸¦ ÇÒ ¼ö ÀÖ½À´Ï´Ù. Àú´Â Calendar ¼ºñ½ºÀÇ events.list¸¦ »ç¿ëÇÏ¿© ÇöÀç ½Ã°£À¸·ÎºÎÅÍ Æ¯Á¤ ½Ã°£±îÁö ÇØ´ç ´Þ·ÂÀÇ ¸ðµç ÀÏÁ¤À» °¡Á®¿À·Á°í ÇÕ´Ï´Ù. list¿¡ key °ªÀ¸·Î »ç¿ëµÉ Ķ¸°´õ ID¸¦ ÀÔ·ÂÇÕ´Ï´Ù.
1 2 3 4 5 6 7 | Events events = service.events().list(MeetingRoomId) .setMaxResults(100) .setTimeMin(now) .setTimeMax(max) .setOrderBy("startTime") .setSingleEvents(true) .execute(); | cs |
API ¶óÀ̺귯¸®ÀÇ ¼ºñ½º´Â Äõ¸® ÀÛ¼ºÀ» ÇϵíÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Â ¿É¼ÇÀ» ¸Þ¼Òµå·Î »ç¿ëÇÒ ¼ö ÀÖ°Ô µµ¿ÍÁÝ´Ï´Ù. ÇöÀç ½Ã°£À¸·ÎºÙÅÍ max ½Ã°£±îÁöÀÇ ÇØ´ç ´Þ·Â ÀÏÁ¤À» Á¶È¸ÇÏ°Ô µË´Ï´Ù.
¿©±â¼ ÁÖÀÇÇÒ Á¡Àº ¿©±â¿¡¼ »ç¿ëÇÏ´Â ½Ã°£ °´Ã¼ DateTimeÀº ±¸±Û¿¡¼ Á¦°øÇÏ´Â DateTime °´Ã¼ ÀÔ´Ï´Ù. jodaÀÇ DateTimeÀ̶ó°í »ý°¢ÇÏ¸é ¾ÈµË´Ï´Ù ¼·Î °£ÀÇ ÄÁ¹öÆ®µµ µÇÁö ¾Ê¾Æ Date °´Ã¼¸¦ Áß°¢ °´Ã¼·Î »ç¿ëÇÏ¿© ÄÁ¹öÆÃÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Äõ¸®¸¦ ¸¸µé°í execute¸¦ ½ÇÇàÇÏ¸é ±¸±Û API ¼¹ö·Î ¿äûÀÌ °¡°í ÀÀ´äÀÌ ¿À°Ô µË´Ï´Ù.
1 2 3 4 5 6 7 8 | List<Event> items = events.getItems(); if (items.size() == 0) { return "¸ðµç ½Ã°£ ºñ¾îÀÖ½À´Ï´Ù."; } else { for (int i = 0; i < items.size(); i++) { ... } } | cs |
list¸¦ ¿äûÇß´Ù¸é Events¸¦ Response·Î ¹ÝȯÇÏ°Ô µË´Ï´Ù. Events °´Ã¼´Â getItems¸¦ ÅëÇØ List<Event> °´Ã¼¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù. °¢ APIÀÇ API Referance¸¦ º¸°í ¿øÇÏ´Â ±â´ÉÀ» ¸¸µå½Ã±â ¹Ù¶ø´Ï´Ù!
Ãâó: https://kingbbode.tistory.com/9 [°³¹ß³ëÆ® - kingbbode]