Google Calendar API - PHP 연동하기

Preview:

Citation preview

SERVER TO SERVER (SERVICE-ACCOUNT 방식으)로..

GOOGLE CALENDAR API -PHP연동하기2016 / 11 / 05

목차

연동하기 전에 필요한 준비

PHP 버전 확인 및 API 다운로드

공유할 캘린더 만들기

Server to Server로 연동하기

샘플코드로 확인하기

0. 연동하기전에필요한준비사항

연동할 캘린더를 사용할 Google 계정

(계정 가입 정도는 알아서…)

PHP 5.4 이상이 설치된 웹서버 혹은 호스팅

(SSH를 사용할 수 있고 php-composer가 설치되어 있으면 더 좋습니다)

소스 코드를 입력할 편집기 및 확인 해볼 웹브라우저 등등…

1. PHP버전확인및 API 다운로드 SSH가 지원되는 분은

쉘에서 php –v

호스팅을 사용하시는 분은

phpinfo(); 함수 호출 페이지 실행

5.4 이하 버전인 경우 포기하시거나 서버 관리자에게 문의하세요

SSH 접속이 가능하고 composer 사용이 가능하신 분은composer.phar require google/apiclient:^2.0

명령으로 편하게 설치하세요

수동 다운로드는 google api의 github Releases 페이지에서( https://github.com/google/google-api-php-client/releases )

FTP 프로그램으로 업로드 합니다

1. 공유할구글캘린더만들기

https://calendar.google.com

구글 캘린더 페이지로 이동합니다(https://calendar.google.com)

캘린더에 설정으로 들어갑니다

캘린더 탭으로 갑니다

(기존 캘린더를 사용하실 분은 목록 중에 선택하세요)

본 가이드는 새로운 캘린더를 만들어서 수행합니다

1. 캘린더 제목을 적고

2. 공개 설정에 체크를 꼭 하셔야합니다.

3. 새 캘린더를 만들어 주세요

기존 캘린더를 수정하실 분은 목록에서 선택 후 [이 캘린더 공유하기] 탭으로 이동합니다

2. 구글캘린더 API 사용설정하기

c.까지만 동일하게 진행합니다.

https://developers.google.com/google-apps/calendar/quickstart/php

EXTRA) 처음 API를 사용하고 프로젝트가 없다면 현재와 같은 화면으로 나올 수 있습니다

우선 취소를 눌러서 빠져 나옵니다

3. OAUTH를 SERVER TO SERVER로인증

https://developers.google.com/api-client-library/php/auth/service-accounts

(주의) 이 JSON 파일은 정말 딱 한 번만 다운로드 가능합니다![service-account.json]란 이름으로 저장하고 FTP를 통해 업로드 합니다

서비스 관리자 페이지로 이동합니다(https://console.developers.google.com/permissions/serviceaccounts)

아까 만든 프로젝트를 선택합니다

프로젝트를 확인하고 서비스 계정 ID를 클립보드에 복사합니다

잠시 구글 캘린더 공유 설정 페이지로 이동합니다. [특정 사용자와 공유]에서 전 페이지에서복사한 ID를 넣고 [일정 변경 및 공유 관리]권한을 주어 사용자를 추가하고 저장합니다.

(이 설정을 해주어야만 API에서 캘린더에 일정 쓰기가 가능해 집니다.)

4. 샘플코드를이용하여이벤트추가하기

https://github.com/denlyou/owo_guide_google_calendar_api_php

(https://github.com/denlyou/owo_guide_google_calendar_api_php/blob/master/test.php )링크로 이동하여 Raw버튼에서 마우스 오른쪽을 눌러 test.php 로 저장합니다

( https://calendar.google.com/calendar/render?tab=wc#settings-calendars_9 )링크로 이동하여 API를 테스트할 캘린더의 ID를 클립보드로 복사합니다.

편집기를 이용하여 2번째 줄의 $calendarId 변수의 값을 전페이지에서 복사한 값으로 변경합니다.

FTP 프로그램을 이용하여 파일을 서버에 업로드 하고 해당 주소로 이동하여 테스트 해봅니다.정상적으로 이벤트가 추가 되면 괴상한(?)문자열의 id를 보여줍니다.

해당 캘린더에 이벤트가 등록되었다면 성공!

수고하셨습니다. 이제 API reference를 참조하여 필요한 기능을 만들어 쓰세요~

https://developers.google.com/google-apps/calendar/v3/reference/

Recommended