"구글 API 튜토리얼"의 두 판 사이의 차이

66번째 줄: 66번째 줄:


==git으로 구글API 클라이언트 설치==
==git으로 구글API 클라이언트 설치==
*[[/usr/share/php/vendor/]]로 이동하여 git clone 설치
<source lang='cli'>
<source lang='cli'>
[root@zetawiki ~]# git clone https://github.com/google/google-api-php-client.git
[root@zetawiki ~]# cd /usr/share/php/vendor/
Initialized empty Git repository in /root/google-api-php-client/.git/
[root@zetawiki vendor]# git clone https://github.com/google/google-api-php-client.git
remote: Counting objects: 7688, done.
Initialized empty Git repository in /usr/share/php/vendor/google-api-php-client/.git/
remote: Compressing objects: 100% (35/35), done.
remote: Counting objects: 8528, done.
remote: Total 7688 (delta 28), reused 0 (delta 0), pack-reused 7646
remote: Total 8528 (delta 0), reused 0 (delta 0), pack-reused 8528
Receiving objects: 100% (7688/7688), 5.38 MiB | 972 KiB/s, done.
Receiving objects: 100% (8528/8528), 5.57 MiB | 1.87 MiB/s, done.
Resolving deltas: 100% (5342/5342), done.
Resolving deltas: 100% (5953/5953), done.
</source>
</source>


==라이브러리 폴더 정리==
==my_batch1.php 작성==
{{참고|PHP 라이브러리 폴더}}
* 예제 batch.php를 홈폴더의 my_batch1.php로 복제하여 테스트
* my_batch1.php를 편집하여 라이브러리 위치를 맞춰주고, apiKey를 입력
<source lang='cli'>
<source lang='cli'>
[root@zetawiki ~]# mv ./google-api-php-client/src/Google/ /usr/share/php/vendor/
[root@zetawiki vendor]# cd
[root@zetawiki ~]# ll /usr/share/php/vendor/ | grep Google
[root@zetawiki ~]# cp /usr/share/php/vendor/google-api-php-client/examples/batch.php .
drwxr-xr-x 12 root root 4096 Jun 22 22:11 Google
[root@zetawiki ~]# cp batch.php my_batch1.php
[root@zetawiki ~]# vi my_batch1.php
</source>
</source>
<source lang='php'>
... (생략)
#require_once realpath(dirname(__FILE__) . '/../src/Google/autoload.php');
require_once 'vendor/google-api-php-client/Google/autoload.php';


==예제 실행==
/************************************************
*예제 batch.php를 my_book_client.php로 복제하여 테스트
  We create the client and set the simple API
* my_book_client.php를 편집하여 라이브러리 위치를 맞춰주고, apiKey를 입력
  access key. If you comment out the call to
<source lang='cli'>
  setDeveloperKey, the request may still succeed
[root@zetawiki ~]# cd google-api-php-client/examples/
  using the anonymous quota.
[root@zetawiki examples]# cp batch.php my_book_client.php
************************************************/
[root@zetawiki examples]# vi my_book_client.php
$client = new Google_Client();
</source>
$client->setApplicationName("Client_Library_Examples");
<source lang='diff'>
#$apiKey = "<YOUR_API_KEY>"; // Change to your API key.
25c25
$apiKey = "AIzaSyBDEuxz8GIb0K2df4_hjlMOQSU68npWYrA";
< require_once realpath(dirname(__FILE__) . '/../src/Google/autoload.php');
... (생략)
---
> include '/usr/share/php/vendor/Google/autoload.php';
35c35
< $apiKey = "<YOUR_API_KEY>"; // Change to your API key.
---
> $apiKey = "AIzaSyBDEuxz8GIb0K2df4_hjlMOQSU68npWYrA"; // Change to your API key.
</source>
</source>
==테스트==
<source lang='cli'>
<source lang='cli'>
[root@zetawiki examples]# php my_book_client.php  
[root@zetawiki examples]# php my_batch1.php  
<h3>Results Of Call 1:</h3>The Writings of Henry David Thoreau<br />  
<h3>Results Of Call 1:</h3>The Writings of Henry David Thoreau<br />  
Walden<br />  
Walden<br />  

2015년 9월 3일 (목) 00:56 판

Google API tutorial
구글 API 시작하기, 구글 API 튜토리얼

1 API 키 발급

  • https://console.developers.google.com/project 접속
  • API Project 클릭
  • 왼쪽 메뉴(Sidebar)에서 Credentials 클릭
  • OAuth 아래의 [Create new Client ID] 버튼 클릭
  • Application type 선택: (O) Service account[1] --- [Create Client ID] 버튼 클릭
  • "New Public/Private key pair generated" 창과 함께 json 파일이 다운로드됨 --- [Okay, got it]
화면에 표시되는 내용은...
Service Account
Client ID 871045965516-m6pxhmgmk0f6l6cdeq5alsbwh9own7ma.apps.googleusercontent.com
Email address 871045965516-m6pxhmgmk0f6l6cdeq5alsbwh9own7ma@developer.gserviceaccount.com
Certificate fingerprints tl28322d248g14q2kxt37d3253981ap8l878dyy3
Key for server applications
API key AIzaSyBDEuxz8GIb0K2df4_hjlMOQSU68npWYrA
IPs 135.79.246.80/32
Activation date Jan 22, 2015, 8:55:00 PM
Activated by example@gmail.com (you)
"API Project-6bd80f24cead.json" 파일의 내용은... (본 실습에서는 이 파일이 필요없지만 살펴보고 가자.)
{
  "private_key_id": "tl28322d248g14q2kxt37d3253981ap8l878dyy3",
  "private_key": "-----BEGIN PRIVATE KEY-----\nMIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAM86vrJUfFHuzcqW\nByp+w+nWAI6iFzpaYiLTaXp1pjrRLmwAWfO094y1qmaO7vvCEFt06yGb1v5VkNg7\n2mVdTzpdCdYnpv2q1wUQ6x2O2p4jISgrocvigQXvGdsDA1HReNXRyV1kxZJbwA81\nuxH9edFCbCZW9/HMaEN0IhGm6iebAgMBAAECgYAVOTb+nJh+66436VWijIkUEc7M\nzN0EJO2YE37iA9qae4H9nauYwhf4WUKybkEbl6yFMVxDfOpv8eN7weWELCJI8LxR\nqTiw/f+BQnHyqSrvaY8x8siD7Z+1ut6ZCmIMwbRAx/OqVe0R23pfpuSblvgHYuW/\nI5TNxKytQo9HsbsmQQJBAOyNbA3GMj4QLwdQw/1EwnLLY/255Zrplgtv19PKrZ+N\nPvOb7v5dLzDaX0LaMnxqFK77WSf0GwO8ZWgfnkHZ3EUCQQDgRC4V0l6Lk0xaCJxF\ns27kkIWNnwYVaYpWOeHjbq5tE3dHlMgLzurtZ9s6a5w9faT4PcSW6Yv4ybIjVL+j\nM2JfAkBR7WEhHCXGjQBcvkJC84+NBphpBftZvdDzwRa1CZs8iUTmRnltq4RunRMl\nKkEWCf+D4xWr2sWIc7WDbH/5OqUpAkEAqa+MuyAgPzVlWN4Y97gLWM9s7bn8DWl8\nrT9AhifxvEA1SSjur9iQ8q5ZNvvDDNerYdTCkXkGWmip64etNFuluwJANo+7AVcO\nntq82SIVLV/MrTO1ZpIlIM3dJSPmFCBGtYWckr7uwi5QZp7VjZFdFcsh84LqVQdC\n3tDhhDau9E9+9w\u003d\u003d\n-----END PRIVATE KEY-----\n",
  "client_email": "871045965516-m6pxhmgmk0f6l6cdeq5alsbwh9own7ma@developer.gserviceaccount.com",
  "client_id": "871045965516-m6pxhmgmk0f6l6cdeq5alsbwh9own7ma.apps.googleusercontent.com",
  "type": "service_account"
}

2 구글API PHP 클라이언트 설치 요건 확인

  • PHP 버전 5.2.1 이상, JSON 확장기능[2]
[root@zetawiki ~]# php -v
PHP 5.3.3 (cli) (built: Oct 30 2014 20:12:53) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
[root@zetawiki ~]# php -m | grep json
json

3 git으로 구글API 클라이언트 설치

[root@zetawiki ~]# cd /usr/share/php/vendor/
[root@zetawiki vendor]# git clone https://github.com/google/google-api-php-client.git
Initialized empty Git repository in /usr/share/php/vendor/google-api-php-client/.git/
remote: Counting objects: 8528, done.
remote: Total 8528 (delta 0), reused 0 (delta 0), pack-reused 8528
Receiving objects: 100% (8528/8528), 5.57 MiB | 1.87 MiB/s, done.
Resolving deltas: 100% (5953/5953), done.

4 my_batch1.php 작성

  • 예제 batch.php를 홈폴더의 my_batch1.php로 복제하여 테스트
  • my_batch1.php를 편집하여 라이브러리 위치를 맞춰주고, apiKey를 입력
[root@zetawiki vendor]# cd
[root@zetawiki ~]# cp /usr/share/php/vendor/google-api-php-client/examples/batch.php .
[root@zetawiki ~]# cp batch.php my_batch1.php
[root@zetawiki ~]# vi my_batch1.php
... (생략)
#require_once realpath(dirname(__FILE__) . '/../src/Google/autoload.php');
require_once 'vendor/google-api-php-client/Google/autoload.php';

/************************************************
  We create the client and set the simple API
  access key. If you comment out the call to
  setDeveloperKey, the request may still succeed
  using the anonymous quota.
 ************************************************/
$client = new Google_Client();
$client->setApplicationName("Client_Library_Examples");
#$apiKey = "<YOUR_API_KEY>"; // Change to your API key.
$apiKey = "AIzaSyBDEuxz8GIb0K2df4_hjlMOQSU68npWYrA";
... (생략)

5 테스트

[root@zetawiki examples]# php my_batch1.php 
<h3>Results Of Call 1:</h3>The Writings of Henry David Thoreau<br /> 
Walden<br /> 
A Week on the Concord and Merrimack Rivers<br /> 
... (생략)
Catalog of Copyright Entries<br /> 
Catalog of Copyright Entries. Part 1. [A] Group 1. Books. New Series<br /> 
Catalogue of Copyright Entries<br /> 
小泉信三文庫目録<br />
→ Book API가 잘 수행되었다. 다른 API도 사용해보자.[3]

6 같이 보기

7 주석

  1. Web application, Service account, Installed application 중 선택. 여기서는 필자의 목적에 맞게 Service account를 선택함
  2. https://github.com/google/google-api-php-client
  3. 사용전에 Enable 절차가 필요할 수 있다.

8 주석

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}