본문 바로가기
Dev Talks/Back-End Dev

구글 API 사용법, 키 발급, OAuth 인증 방법 정리

by 곰씨네IT 2019. 2. 2.

구글 api 활용 방법만 잘 알아도 다양한 종류의 구글 서비스를 이용할 수 있습니다. 저 역시 여러 종류의 구글 서비스를 이용해서 api 연동을 하고 서비스에 적용하고 있습니다. 오늘 포스팅에서는 구글 API 사용법과 관련해서 API 키 발급 과정과 API 연동 방법에 대해서 알아볼까 합니다.


구글 API 사용법은 다음과 같은 절차로 진행이 됩니다.


1. 구글 API 콘솔 프로젝트 생성

▼ 먼저 구글 API Console에 접속합니다. 구글 API 대시보드에서 좌측 상단을 보면 프로젝트를 생성하거나 선택할 수 있는 선택 박스가 있습니다. 여기를 클릭하여 프로젝트 생성을 합니다.


구글 api 사용 방법


▼ 프로젝트 선택 우측을 보면 새 프로젝트가 있습니다. 이 곳을 클릭하여 새 프로젝트를 생성합니다. 만약 기존 프로젝트를 사용하고 싶다면 기존 프로젝트를 선택하면 됩니다.


구글 api 프로젝트 선택


▼ 구글 API 새 프로젝트를 생성할 때는 프로젝트 이름을 입력합니다. 이름은 영어만 가능하고 한글이나 특수 문자는 안됩니다.


구글 api 프로젝트 생성


▼ 프로젝트 생성이 완료되었으면, 구글 API 대시보드 상단에 제대로 생성한 프로젝트가 선택되었는지 확인합니다. 참고로 향 후 이 대시보드에서 구글 api 할당량을 확인할 수 있습니다.


구글 api 대시보드 확인


2. 구글 API 라이브러리 선택

▼ 그 다음 좌측 메뉴를 보면 대시보드, 라이브러리, 사용자 인증 정보 메뉴가 있는데요. 이 중 구글 API 라이브러리 항목을 클릭합니다.

구글 api 라이브러리 선택


▼ 구글 api 라이브러리에는 다양한 종류의 구글 서비스가 있습니다. 주로 google map이나 cloud api를 자주 사용하며, 특히 구글 스프레드시트 api가 많이 사용되고 있습니다. 여기서는 google sheet api 사용법을 중심으로 다루도록 하겠습니다.


google sheet api


▼ 구글 api 라이브러리에서 Google Sheets Api 를 선택합니다. 그리고 사용설정을 클릭합니다.


google sheet api 사용 설정


3. 구글 Oauth 인증 정보 만들기

▼ 다음으로 사용자 인증 정보 메뉴를 클릭하고 사용자 인증 정보로 이동합니다. 이제 구글 oauth 인증을 통해 구글 api 키(key)를 발급 받을 겁니다.


구글 api 사용자 인증정보 생성


▼ 사용자 인증 정보 만들기 버튼을 클릭하면 api 키, Oauth 클라이언트 ID, 서비스 계정 키를 선택할 수 있게 됩니다. API 키는 간단한 API키로 할당량과 권한 확인만을 위해 사용합니다. 반면 Oauth 클라이언트 ID로 키를 받으면 Oauth 인증을 통해 앱에서 사용자가 엑세스 할 수 있게 됩니다. Oauth에 대해서는 위키를 참고해보세요.


구글 api oauth 선택


▼ Oauth 동의 화면 메뉴에서 애플리케이션 이름을 입력합니다. 여기서는 다른 것들을 입력할 필요 없이 어플리케이션 이름만 입력해주면 됩니다.


구글 ouath 동의 화면


▼ 다음으로 애플리케이션 유형을 선택합니다. 웹 애플리케이션을 선택하면 콜백 리다이렉트를 할 수 있는 URL을 별도로 입력해주어야 합니다. 여기서는 간단하게 기타를 선택하도록 하겠습니다.


구글 oauth 클라이언트 id 만들기


▼ 이제 생성 버튼을 누르면 Oatuh 클라이언트 ID와 Secret 번호(=보안 키)가 생성됩니다. 따로 메모장에 복사해두거나 확인을 눌러줍니다. 


구글 api 인증 oauth 클라이언트


▼ 클라이언트 ID와 보안 키는 Oauth 2.0 클라이언트 ID 리스트에서도 확인할 수 있습니다. 또한 맨 우측에 다운로드 버튼을 누르면 json으로 되어 있는 인증 파일을 받을 수 있습니다. 


구글 api key 발급


4. 구글 API 인증 정보 적용

▼ 저는 간단하게 구글 스프레드시트 api와 페이스북 api를 활용해서 구글 시트의 정보를 읽어와 페이스북 페이지에 자동으로 포스팅하는 앱을 만들어봤습니다. PHP로 제작했으나 구글 api에서는 javascript, java, android, ios 별로 SDK를 제공해주고 있으니 원하는 언어로 제작하면 됩니다. PHP로 제작한 앱의 소스는 Github 레파지토리를 확인하시길 바랍니다.


구글 api 로그인


▼ 구글에서 다운로드 받은 인증 정보 json파일을 SDK에서 제시한 위치에 붙여 넣습니다. 그리고 cmd에서 실행하면 다음과 같이 URL과 인증 코드를 넣으라는 프롬프트가 뜹니다. 


구글 api 인증


5. 구글 계정으로 앱 권한 허용

▼ 제시된 URL을 클릭하면 다음과 같이 Google 계정으로 로그인이라는 팝업이 뜹니다. 여기서 앱을 사용할 계정을 클릭합니다.


구글 api 로그인 및 계정 선택


▼ 그러면 내 Google 계정에 액세스 하려고 합니다 라는 문구와 함께 허용할 권한들이 나옵니다. 허용할 권한을 살펴보고 허용 버튼을 눌러줍니다.


구글 api 연동 허용


6. 구글 API 인증 token 받기

▼ 구글 계정을 선택하고 앱 권한 허용까지 하면 인증 코드가 나옵니다. 이 코드를 복사합니다.


구글 api 로그인 후 토큰 발급


▼ 복사한 코드를 아까 나왔던 Enter verification code 라는 프롬프트에 붙여넣고 엔터를 입력합니다.


oauth 인증 토큰 복사


▼ 그러면 SDK에서 지정된 위치에 token.json 파일이 생성됩니다. 파일 안에는 access token이 기재되어 있습니다. 추가로 토큰 파일과 credentials.json 파일은 보안을 유지해야 하니 GitHub에 올라가지 않도록 .gitignore 설정을 해주어야 합니다. 


구글 api 활용 하기


구글 키 발급과 Oauth 인증을 통한 액세스 토큰을 받았습니다. 자, 이제 구글 API 사용할 준비가 끝났습니다. 구글 API에 request를 할 때는 항상 credentials.json에 있는 key와 token.json에 있는 access token 정보를 같이 보내면 되죠.


7. 구글 API 연동 프로그램 개발

이제 아래 있는 각 플랫폼별 Client Libraries와 SDK 문서를 확인하여 개발을 진행하면 됩니다. PHP로 Spreadsheets API 와 연동한 코드는 GitHub 소스를 참고해보시길 바랍니다. 


Google APIs Client Libraries

구글 API 커뮤니티 (스택 오브 플로우)

Google API Client Libraries PHP

Google Spreadsheets and PHP - twilio Blog

G Suite PHP Samples


** 336x280 **



댓글