2017년 5월 11일 목요일

CI에서 Google API 를 사용해보자 1

CI (코드이그나이터)에서 구글 API 를 사용하려면
순서는 이렇다. (코드이그나이터 설치는 되어있다면)

1. 먼저 Google API 신청을 해야한다.
Google API Library 를 보면, 종류가 많은데
Google+ API 를 신청하면 소셜 로그인을 사용 할 수 있게 된다.
회원가입을 받지 않고, 구글 아이디로 사이트를 이용할 수 있는 것이다.
요론 자세한 설명은 앞으로 생략하겠다.

2. 신청이 완료되면 API KEY 를 주는데, 잘 받아 적어둔다.

3. 코드이그나이터 컴포저를 이용해
Google API Client 를 다운로드 받는다. (시간이 꽤 걸린다)


컴포저 주소는 google/apiclient:^2.0
코드이그나이터에서 컴포저 사용법은
앞전에 본 블로그에서 알려줬다.

4. Google API 설치가 끝났다면,
코드이그나이터에서 예제 프로그램을 실행해 본다.

View단의 소스는 아래와 같다.

// include your composer dependencies
require_once 'vendor/autoload.php';

$client = new Google_Client();
$client->setApplicationName("Client_Library_Examples");
$client->setDeveloperKey("YOUR_APP_KEY");

$service = new Google_Service_Books($client);
$optParams = array('filter' => 'free-ebooks');
$results = $service->volumes->listVolumes('Henry David Thoreau', $optParams);

foreach ($results as $item) {
  echo $item['volumeInfo']['title'], "
 \n";
}

구글 클라이언트의 구글 서비스북에 접속
책이름으로 구글에서 검색하면
책의 정보를 구글로 부터 받아오는 예제이다.

YOUR_APP_KEY 부분에
Google+ API 에서 발급받았던 KEY 를 적어주면 된다.

5. 이렇게 해서 실행을 하면
아래 캡쳐 그림처럼 에러가 팦팦팦팦팦 나는데

당황하지말고, 187 라인을 보면 안되고
Message: cURL error 60: SSL certificate problem 에서
see 보라는 주소로 들어가보면

CA 인증서 문제임을 알 수 있다.

6. cacert.pem 파일을 다운로드 받아,
PHP 인증서가 있는 PHP 하위 폴더에 넣어두고
php.ini 의 1882 line 을 다음과 같이 수정한다.

파일 받는 주소 https://curl.haxx.se/docs/caextract.html
PHP 하위폴더 경로 php > extras > ssl



;curl.cainfo =
앞에 ; 주석을 지워주고
curl.cainfo =
뒤에 cacert.pem 이 있는 경로로 수정한다.

7. WAS (웹서버) 를 재실행하면,
BOOK API 신청이 안되었다는 에러 메세지가 뜨는데
Google API 에서 Google Books API 를 신청하면,
에러 없이 정상적으로 출력하는것을 확인 할 수 있다.


8. 정상적으로 잘 작동하므로
다음편에서는 OAuth 구글 로그인에 대해 알아보겠다.

https://github.com/google/google-api-php-client

댓글 없음:

댓글 쓰기

플러터 단축키

1. 위젯 감싸기/벗기기 비주얼 스튜디오 :   Cmd + . 안드로이드 스튜디오 : Alt + Enter 2. 코드 정렬 비주얼 스튜디오 : Ctrl + S 안드로이드 스튜디오 : Ctlr + Alt + L 3. StatelessWidget ->...