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

잔글 (봇: 자동으로 텍스트 교체 (-<source lang='cli'> +<source lang='console'>))
2번째 줄: 2번째 줄:
;구글 API 시작하기, 구글 API 튜토리얼
;구글 API 시작하기, 구글 API 튜토리얼
;google-api-php-client 사용해보기
;google-api-php-client 사용해보기
==API 키 발급==
*https://console.developers.google.com/project 접속
*API Project 클릭
*왼쪽 메뉴(Sidebar)에서 Credentials 클릭
*OAuth 아래의 [Create new Client ID] 버튼 클릭
*Application type 선택: (O) Service account<ref>Web application, Service account, Installed application 중 선택. 여기서는 필자의 목적에 맞게 Service account를 선택함</ref> --- [Create Client ID] 버튼 클릭
*"New Public/Private key pair generated" 창과 함께 json 파일이 다운로드됨 --- [Okay, got it]
:화면에 표시되는 내용은...
{| class='wikitable'
|+Service Account
|-
! Client ID
| 871045965516-m6pxhmgmk0f6l6cdeq5alsbwh9own7ma.apps.googleusercontent.com
|-
! Email address
| 871045965516-m6pxhmgmk0f6l6cdeq5alsbwh9own7ma@developer.gserviceaccount.com
|-
! Certificate fingerprints
| tl28322d248g14q2kxt37d3253981ap8l878dyy3
|}
{| class='wikitable'
|+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" 파일의 내용은... (본 실습에서는 이 파일이 필요없지만 살펴보고 가자.)
<source lang='javascript'>
{
  "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"
}
</source>


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

2016년 5월 25일 (수) 21:18 판

Google API tutorial
구글 API 시작하기, 구글 API 튜토리얼
google-api-php-client 사용해보기

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

  • PHP 버전 5.2.1 이상, JSON 확장기능[1]
[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

2 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.
  • 접근경로 단축을 위해 심볼릭 링크 생성
[root@zetawiki vendor]# cd ..
[root@zetawiki php]# ln -s vendor/google-api-php-client/src/Google/ Google
[root@zetawiki php]# ll | grep Google
lrwxrwxrwx  1 root root   40 Sep  3 01:11 Google -> vendor/google-api-php-client/src/Google/

3 my_batch1.php 작성

  • 예제 batch.php를 홈폴더의 my_batch1.php로 복제하여 테스트
  • my_batch1.php를 편집하여 라이브러리 위치를 맞춰주고, apiKey를 입력
[root@zetawiki php]# 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
... (생략)
#### include_once "templates/base.php";
include_once "vendor/google-api-php-client/examples/templates/base.php";
echo pageHeader("Batching Queries");

/************************************************
  We're going to use the simple access to the
  books API again as an example, but this time we
  will batch up two queries into a single call.
 ************************************************/
#### require_once realpath(dirname(__FILE__) . '/../src/Google/autoload.php');
require_once '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";
... (생략)

4 테스트

[root@zetawiki ~]# 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도 사용해보자.[2]

5 같이 보기

6 주석

  1. https://github.com/google/google-api-php-client
  2. 단, API 종류에 따라 사용전 Enable 절차가 필요할 수 있다.
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}