2021. 5. 10. 22:46ㆍFrontend/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 관련 자료)
'Frontend > React Native' 카테고리의 다른 글
[RN] Android simulator에서 foldable 테스트(fold, unfold) (0) | 2021.06.10 |
---|