+ 2013/07/31 - [Programming/Open API] - Google OAuth 2.0 for Android - Client ID 발급
이번 포스팅에서는 실제로 안드로이드 앱에서 구글 OAuth 인증을 하는 예제를 살펴보겠다.
1. Tasks API 서비스 사용 요청 - 이번 OAuth 인증 예제에서 Scope 로 사용
Tasks API 항목의 OFF 버튼을 클릭하여 사용 요청을 진행한다.
I agree to these terms. 를 체크하여 동의하고,
Accept 버튼을 클릭하여 서비스 사용 요청을 마친다.
Tasks API 항목이 ON 으로 변경 된 것을 확인할 수 있다.
지난 포스팅에서 발급 받았던 Client ID 와 함께
API key 를 확인할 수 있다.
2. Google API 라이브러리 다운로드 및 설치
(https://code.google.com/p/google-api-java-client/downloads/list)
이번 예제에서는 1.4.1-beta 버전을 사용하였다.
Deprecated 되었기 때문에 추후에는 변경하여 개발할 필요가 있다.
압축 파일을 다운로드 받는다.
압축을 해제하여
google-api-client-1.4.1-beta.jar 파일과
google-api-client-googleapis-1.4.1-beta.jar 파일을 복사한다.
dependencies 폴더에 있는
guava-r09.jar 파일과
jackson-core-asl-1.6.7.jar 파일도 복사한다.
안드로이드 앱 프로젝트를 개설하여 libs 폴더에 jar 파일들을 넣어준다.
간단하게 Button 과 WebView 를 배치했다.
WebView 는 인증 요청 화면을 호출할 때 보여야하므로 visibility 속성값을 invisible 로 설정한다.
인터넷 사용 퍼미션을 지정해준다.
이전에 발급 받았던 Client ID 와 API key 값을 지정해두고,
Tasks API 를 호출하기 위한 Scope 와 URL 값을 설정한다.
OAuth 인증을 위해서는 자바스크립트를 사용해야하므로 웹뷰에 자바스크립트 기능을 활성화 해준다.
버튼을 눌러 인증 요청 시 웹뷰를 Visible 시켜주고 인증 페이지를 호출한다.
인증 페이지가 띄워진다.
인증 페이지 호출 시 Log 를 확인해보았다.
사용자가 Email 과 Password 를 입력하여 로그인 하면,
이렇게 사용자 tasks 에 대해 이 앱에서 접근을 요청 하였다는 안내를 볼 수 있다.
인증 할 때의 Log 를 확인해보았다.
사용자가 Accept 버튼을 눌러 접근을 허용하면 접근코드를 반환 받을 수 있다.
사용자가 Cancel 버튼을 눌러 접근을 허용하지 않으면 에러코드를 반환 받는다.
이제 구글 OAuth 인증을 했으므로,
구글에서 제공하는 서비스 목록에서 접근하여 사용하고자하는 서비스를 선택하여 활용할 수 있다.
구글 Calendar API 와 이번 예제에서 요청했던 Tasks API 를 사용해보았는데
꽤 쓸만했고 별다른 어려움도 없었다.
Google OAuth 2.0 인증에 대해 조금이나마 도움이 되길 바란다.
+ 2013/07/31 - [Programming/Open API] - Google OAuth 2.0 for Android - Client ID 발급
'Programming > Open API' 카테고리의 다른 글
Google OAuth 2.0 for Android - Client ID 발급 (0) | 2013.07.31 |
---|---|
Google Geocoding API (0) | 2013.05.28 |