»Ë»Ñ Æ÷·³
IT °³¹ßÀÚ°£ Á¤º¸¸¦ °øÀ¯ÇÏ°í ³íÀÇ°¡ ÀÌ·ç¾îÁö´Â °ø°£ÀÔ´Ï´Ù.

Service Account(JWT)À» È°¿ëÇÑ Google Calendar API »ç¿ë

½Ã¸®Áî°Ô½Ã±Û ¾ÆÀÌÄÜ[SW °³¹ßȯ°æ ±¸Ãà] ½Ã¸®Áî ½Ã¸®Áî¶õ?

***  ¾Æ·¡ ³»¿ëÀº ºí·Î±× °Ô½Å±Û¿¡ ´ëÇÑ ¿ä¾àÀ¸·Î »ó¼¼ ³»¿ëÀº https://kibua20.tistory.com/87 ¸¦ ¹æ¹®ÇØÁÖ¼¼¿ä. 

 

Google API¸¦ »ç¿ëÇϱâ À§Çؼ­´Â ±¸±Û ¼­¹ö¿¡ ÀÎÁõÀ» ¹Þ¾Æ¾ß ÇÕ´Ï´Ù. ÀÎÁõÀ» ¹ÞÀº ¹æ¹ý¿¡´Â 1) API Key È°¿ë, 2) ¼­¹öÃø web applicatin, 3) JWTÀ» ÀÌ¿ëÇÑ Service account µîÀÇ ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. ÀÌ Áß¿¡¼­ º» ±ÛÀº Service account À» »ç¿ëÇؼ­ API ÀÎÁõÀ» ¹Þ°í, Google Calendar API¸¦ ÅëÇؼ­ »ç¿ëÀÚ °èÁ¤ÀÇ calendar event¸¦ ¾ò¾î¿À´Â ¹æ¹ýÀ» ¼Ò°³ÇÕ´Ï´Ù.  

¼­ºñ½º accountÀÇ °¡Àå ÀåÁ¡Àº »ç¿ëÀÚÀÇ ·Î±×ÀÎÀÌ ÇÊ¿ä ¾ø°í, access tokenÀ» ´Ù½Ã ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù.  ÇÑ °¡Áö ÁÖÀÇÇÒ Á¡Àº »ç¿ëÀÚÀÇ °èÁ¤°ú ¼­ºñ½ºÀÇ °èÁ¤Àº º°µµÀÇ °èÁ¤À̸ç, »ç¿ëÀÚ µ¥ÀÌÅ͸¦ Á¢±ÙÇϱâ À§Çؼ­´Â ¼­ºñ½º °èÁ¤¿¡ °øÀ¯ ±ÇÇÑÀ» ºÎ¿©ÇØ¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, kibua20@gmail.com ÀÇ »ç¿ëÀÚ °èÁ¤¿¡ kibua20-services@serverapi.iam.gservices.com ÀÇ ¼­ºñ½º °èÁ¤À» ¸¸µé¾ú´Ù¸é ÀÌ µÑÀº ´Ù¸¥ °èÁ¤À¸·Î Ãë±ÞµÇ°í, kibua20 °èÁ¤ÀÇ Ä¶¸°´õ µ¥ÀÌÅ͸¦ Á¢±ÙÇϱâ À§Çؼ­´Â kibua20-services °èÁ¤¿¡ Ķ¸°´õ Á¢±Ù ±ÇÇÑÀº »çÀü¿¡ Çã¿ëÇØ¾ß ¼­ºñ½º °èÁ¤¿¡¼­ »ç¿ëÀÚ °èÁ¤ÀÇ Ä¶¸°´õ »ç¿ëÀÌ °¡´ÉÇÕ´Ï´Ù. 

 

Service Account »ç¿ëÇϱâ À§Çؼ­´Â ¾Æ·¡¿Í °°ÀÌ 5´Ü°è·Î ÁøÇàÇØ¾ß ÇÑ´Ù. 

  1. Google API cosole ¿¡¼­ Service Account »ý¼º: Service account¸¦ »ý¼ºÇϸé Client ID¿Í Private Key¸¦ ÇÒ´ç¹Þ´Â´Ù.
  2. JWT (Json Web Token) »ý¼º: Header, Claim set, signature¸¦ base64url safe °ªÀ¸·Î encoding ÇÑ´Ù. 
  3. ±¸±Û ¼­¹ö¿¡¼­ JWTÀ» »ç¿ëÇؼ­ TokenÀ» request ÇÑ´Ù.
  4. ±¸±Û ¼­¹ö¿¡¼­ Access TokenÀ» response·Î ³»·ÁÁØ´Ù.
  5. Access tokenÀ» »ç¿ëÇؼ­ Google API¸¦ È£ÃâÇÑ´Ù.


 

1. Google API Console¿¡¼­ Service Accont »ý¼ºÇϱâ

  -  API È°¼ºÈ­

  - ¼­ºñ½º °èÁ¤ »ý¼ºÇϱâ 

  - ¼­ºñ½º °èÁ¤ Private Key ¸¸µé±â

2. JWT (Json Web Token) »ý¼ºÇϱâ

   - pythonÀÎ °æ¿ì pyJWT¸¦ È°¿ëÇؼ­ private key id ¿Í key °ªÀ» ³Ö¾î JWTÀ» »ý¼ºÇÕ´Ï´Ù. 

3. JWTÀ» Google ÀÎÁõ ¼­¹ö¿¡¼­ requst ÇÏ¿© Access Token ¾ò¾î¿À±â

   - ±¸±Û ÀÎÁõ ¼­¹ö¿¡¼­ JWT À» request¸¦ postÇϸé repsonse °ª¿¡ access_tokenÀ» Àü´ÞÇÕ´Ï´Ù. access_tokenÀº 1½Ã°£ µ¿¾È À¯È¿ÇÕ´Ï´Ù. 

4. Access TokenÀ¸·Î Calendar API »ç¿ëÇϱâ

  - Calendar API ´Â ±¸±Û °³¹ßÀÚ site¿¡¼­ API¸¦ È®ÀÎÇÒ ¼ö ÀÖÀ¸¸ç, ÇØ´ç caldearÀÇ event ¸¦ ¾ò´Â ¹æ¹ý¿¡ ´ëÇؼ­ sample code¸¦ Á¦°øÇÕ´Ï´Ù. 

 

***  »ó¼¼ ³»¿ë°ú »ùÇà Äڵ尡 ÇÊ¿äÇϽŠºÐÀº https://kibua20.tistory.com/87 ¸¦ ¹æ¹®ÇØÁÖ¼¼¿ä. 

0
ÃßõÇϱ⠴ٸ¥ÀÇ°ß 0
ºÏ¸¶Å©¹öÆ° °øÀ¯¹öÆ°
  • ¾Ë¸² ¿å¼³, »óó ÁÙ ¼ö ÀÖ´Â ¾ÇÇÃÀº »ï°¡ÁÖ¼¼¿ä.
©¹æ »çÁø  
¡â ÀÌÀü±Û¡ä ´ÙÀ½±Û