[RN] React Native와 Google Calendar api 연동

2021. 5. 10. 22:46Frontend/React Native

** 초보 개발자로 글에 수정해야 할 부분이 있을 수 있습니다. 정정해야 할 부분은 댓글로 소통 부탁드립니다!

 

React Native(RN)과 Google Calendar api 연동을 위해서는 기본적으로 Google 로그인이 된 상태이어야 합니다.

(저는 react-native-google-signin 을 사용했습니다.)

 

 

그렇다면, React Native(RN)과 Google Calendar api 연동은 어떻게 하는 것일까요??

 

한참을 찾아보았는데, 아무리 구글링을 해도

React - Google Calendar api 연동 라이브러리 밖에 나오지 않더라구요...! ㅠㅠ

정말 열심히 찾았는데, 허무하게도 해답은 api document에 있었습니다.

(역시 document를 잘 읽어야 해...!!! document 정독!! 필수!!)

 

react-native-google-singin 라이브러리를 사용하면

configure > scopes (string[] type) 내에 접근 및 사용하고 싶은 API 의 scope을 저장하면 됩니다.

 

(예시)

GoogleSignin.configure({
  // what API you want to access on behalf of the user, default is email and profile
  scopes: [
    'https://www.googleapis.com/auth/drive.readonly',
    'https://www.googleapis.com/auth/calendar' // calendar api
  ] 
});

 

 

실제로 Google Calendar API document 문서를 보시면 (google api document)

API 호출시에 해당 scope 의 권한이 필요함을 명시하고 있습니다. 

 

 

 

왜 scope을 추가하는 것이 필요한지 저도 정확히 알지 못하지만...

google api는 OAuth2.0 을 사용하여 인증 절차를 거치고 있어 별도의 인증 서버로부터의 권한(token)을 획득하여야 하는데, scope 을 명시해 줌으로써 해당 api의 접근 권한을 획득하도록 서비스를 제공하고 있는 것으로 생각됩니다.

 

다음번에 좀 더 OAuth2.0 인증에 대해서 포스팅하도록 하겠습니다. (google auth2.0 관련 자료)