티스토리 뷰
구글에서 제공하는 API 가 많이 있는데 그 중에서 PHP버전의 구글 시트 API 를 활용해본다.
처음에는 "google docs api" 로 검색했었는데, 구글 독스는 워드용 이고
내가 원하는 구글 엑셀용 api 를 이용하고 싶으면 "google sheet api" 라고 검색해야 한다.
https://developers.google.com/sheets/api/?hl=ko
어떻게 어디서부터 시작해야할지 모를 땐 Quickstart 부터 해보는 게 좋겠다.
PHP 예제를 실행하려면 테스트할 수 있는 서버가 필요하다.
AWS 에서 1년짜리 무료 서버호스팅을 받아 이용할 수도 있는데,
서버에 대해서도 익힐겸 로컬에 서버를 설치하기로 했다.
PHP 와 아파치 서버를 설치하는 방법은 여러가지가 있지만 패키지로 묶인 WAMP 를 설치했다.
MySQL DB까지 한꺼번에 설치할 수 있어서 나중에 디비 작업이 필요할 때도 유용한 WAMP
설치마법사를 이용할 때 설치디렉토리 경로는 꼭 C 드라이브가 아니어도 된다!
D 나 F 든 데이터용 드라이브에 해도 아~무 상관 없어요.
PHP Google Sheet API 를 이용하려면 컴포져(Composer) 설치를 해야한다.
Prerequisites 에 있는 Composer 링크를 따라 들어가서 Download 클릭
https://getcomposer.org/download/
Composer-Setup.exe 실행파일을 다운받는다.
설치할 때 PHP 설치경로만 잘 찾아가면 컴포져 설치 완료!
제대로 설치가 됐는지 확인해보려면 cmd 창에서 composer -V 를 입력해본다.
이제 컴포져로 원하는 PHP 패키지들을 설치할 수 있다.
퀵스타터 예제 실행을 위한 준비 끝!
ENABLE THE GOOGLE SHEETS API 를 클릭해 credentials.json 파일을 다운받는다.
아파치 서버에 구글api 클라이언트를 설치해야한다.
composer require google/apiclient:^2.0
(나는 htdocs 안에 설치를 했었는데, 그보다 상위 디렉토리에 설치하는 게 보안상 좋을 것 같다.)
설치하고 나면 vendor 폴더와 파일 2개(composer.json, composer.lock)가 생성된다.
vendor 가 있는 apache2 폴더에 Step1. 에서 다운받은 credentials.json 파일을 놓는다.
작업 디렉토리에 quickstart.php 를 생성한다.
작업 디렉토리는 아파치서버의 htdocs 폴더가 된다. (D:\Bitnami\wampstack-7.3.7-0\apache2\htdocs)
php 내용은 복사붙여넣기로 채워넣었다.
여기서 파일 경로를 두 곳 수정해줘야하는데, 주석으로 설명적어뒀다.
vendor 폴더와 같이 생성된 2개의 파일 그리고 credentials.json 파일이 quickstart.php 파일과 같은 경로라면 수정할 필요는 없다.
파일 준비가 되었다면 cmd 창에서 파일이 있는 디렉토리로 이동 후, php quickstart.php 로 실행한다.
인증에 필요한 코드를 받기 위해서 표시된 링크를 브라우저에서 연다.
코드는 그때그때 다르게 생성된다!!
결과값
// Prints the names and majors of students in a sample spreadsheet:
// https://docs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/edit
$spreadsheetId = '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms';
$range = 'Class Data!A2:E';
$response = $service->spreadsheets_values->get($spreadsheetId, $range);
$values = $response->getValues();
if (empty($values)) {
print "No data found.\n";
} else {
print "Name, Major:\n";
foreach ($values as $row) {
// Print columns A and E, which correspond to indices 0 and 4.
printf("%s, %s\n", $row[0], $row[4]);
}
}
실행 소스를 보면 Name 과 Major 를 출력하도록 했는데, 그대로 잘 출력되었다.
기본 구글api 의 php 를 익혔으니 본격적으로 레퍼런스 읽는 법을 알아본다.
'구글 API' 카테고리의 다른 글
구글 시트 API 권한부여_ OAuth 2.0 토큰/API 키 (0) | 2019.07.17 |
---|---|
Google Sheet/구글 시트 API 레퍼런스, 소스 읽는 법_ PHP 버전 (0) | 2019.07.16 |