Google Calendar API - 2. 사용법
본문 바로가기


Programmer/etc.

Google Calendar API - 2. 사용법

1. 2020/09/10 - [Programmer/etc.] - Google Calendar API - 1.3. GCP 설정: 사용자인증 설정에 이어지는 글입니다.
2. Nodejs 웹서버에서 Google calendar API를 사용하는 방법이 기록된 글입니다.

제목은 퀵스타트라지만 흥 시간 좀 걸린다 ㅎㅎ.

 


 

Google Calendar API 사용을 위한 프로젝트 생성과 설정이 끝났다면,
이제 클라이언트 ID로 프로젝트에 연결하여 사용하면 된다.

이전 글 마지막에 클라이언트 정보가 담긴 JSON파일을 다운받았을 것이다.
해당 파일을 준비하자.

이 링크를 따라가면 샘플 코드를 확인할 수 있다. (다른 언어도 찾아보면 있다.)
developers.google.com/calendar/quickstart/nodejs

 

Node.js Quickstart  |  Calendar API  |  Google Developers

Complete the steps described in the rest of this page to create a simple Node.js command-line application that makes requests to the Google Calendar API. Prerequisites To run this quickstart, you need the following prerequisites: Node.js & npm installed. A

developers.google.com

 


 

코드에서 수정해야하는 몇가지

(다들 알고 있겠지만... 기록차 작성한다.)

1. scope 설정
기본적으로 사용되는 코드에는 아래 scope로 설정되어있다. 

OAuth 동의 화면을 만들때 사용하도록 설정한 API의 범위에 맞추어 작성해야한다.

const SCOPES = ['https://www.googleapis.com/auth/calendar.readonly'];

 

 

2. 파일명 설정
아마도, 다운받은 Client 정보 JSON 파일의 이름이 credentials.json이 아닐 것이다. 맞추어 작성한다.

fs.readFile('credentials.json', (err, content) => {
  if (err) return console.log('Error loading client secret file:', err);
  // Authorize a client with credentials, then call the Google Calendar API.
  authorize(JSON.parse(content), listEvents);
});

 

 

3. JSON 설정
다운받은 JSON파일에는 키가 installed가 아니라 web으로 되어있다. 맞추어 작성한다.

(아래 코드의 두번째 줄 credentials.installed;)

function authorize(credentials, callback) {
  const {client_secret, client_id, redirect_uris} = credentials.installed;
  const oAuth2Client = new google.auth.OAuth2(
      client_id, client_secret, redirect_uris[0]);

  // Check if we have previously stored a token.
  fs.readFile(TOKEN_PATH, (err, token) => {
    if (err) return getAccessToken(oAuth2Client, callback);
    oAuth2Client.setCredentials(JSON.parse(token));
    callback(oAuth2Client);
  });
}

 


실행하기

1. 해당 코드를 실행하면 url이 나온다.

 

2. Url로 접속해 구글 로그인을 쭉 진행하다보면, 마지막으로 아래 화면을 볼 수 있을 것이다.
google에서 요청하는 몇 가지 요청을 진행하는 verifiaction 이 필요하며, 우선은 고급을 눌러 진행하자.
(verification은 다음 글에서 설명한다.)

3. 진행하면 내가 정했던 url으로 리다이렉트 되고, 해당 url에서 code=.... 를 확인할 수 있다
= 뒤부터 끝까지 복사해서 콘솔에 붙여넣으면 된다.

그럼 token.json 파일이 저장되고, 정보가 출력된다.


유의사항

해당 url에서 구글 계정의 권한을 허용한 다음에 token.json을 지우고 다시 시도하려고 하면
code의 / 가 %2F 으로 인코딩 된 상태로 리다이렉트 된다.

%2F를 /로 바꾸어 입력하던지, myaccount.google.com/permissions에서 권한 삭제 후 다시 시도하면 / 으로 구성된 URL로 리다이렉트 된다.


다음 글은 어플리케이션을 인증받는 것에 관련된 내용이다..

 

 


이전글

2020/09/09 - [Programmer/etc.] - Google Calendar API - 0. 시작하기

2020/09/10 - [Programmer/etc.] - Google Calendar API - 1.1. GCP 설정: 프로젝트 생성 및 API 사용 설정

2020/09/10 - [Programmer/etc.] - Google Calendar API - 1.2. GCP 설정: OAuth 인증 설정

2020/09/10 - [Programmer/etc.] - Google Calendar API - 1.3. GCP 설정: 사용자인증 설정

다음글

2020/09/10 - [Programmer/etc.] - Google Calendar API - 3. 어플리케이션 인증받기

관련글

2020/09/10 - [Programmer/etc.] - Google Calendar API - 번외. 추가 팁