구글 Analytics API 시작하기

Google Analytics API tutorial
구글 Analytics API 시작하기
구글 애널리틱스 API 튜토리얼

1 목적 / 목표

  • 정기예약작업(crontab)으로 Analytics 데이터를 수집하여 MySQL에 보관
  • PHP 라이브러리를 이용하여 기본 프로그램 작성
자바, 파이썬, PHP, 자바스크립트 라이브러리가 제공되는데 여기서는 PHP로 한다.

2 사전 작업

3 API 활성화

"Enabled Analytics API"

4 P12 키 생성·업로드

  • 왼쪽 메뉴(Sidebar)에서 Credentials 클릭
  • [Generate new P12 key] 버튼 클릭
API Project-7bq7391w37g9.p12 파일 다운로드됨
  • 파일명을 client_secrets.p12으로 변경
  • 서버에 업로드
[root@zetawiki ~]# ll *.p12
-rw-r--r-- 1 root root 1732 Jun 22 22:29 client_secrets.p12

5 예제 다운로드·수정

[root@zetawiki ~]# wget https://developers.google.com/analytics/resources/samples/service-php.txt
--2015-06-22 23:07:25--  https://developers.google.com/analytics/resources/samples/service-php.txt
Resolving developers.google.com... 58.123.102.118, 58.123.102.98, 58.123.102.119, ...
Connecting to developers.google.com|58.123.102.118|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3353 (3.3K) [text/plain]
Saving to: “service-php.txt”

100%[================================================>] 3,353       --.-K/s   in 0s      

2015-06-22 23:07:26 (12.4 MB/s) - “service-php.txt” saved [3353/3353]
[root@zetawiki ~]# head service-php.txt
<?php

function getService()
{
  // Creates and returns the Analytics service object.

  // Load the Google API PHP Client Library.
  require_once 'google-api-php-client/src/Google/autoload.php';

  // Use the developers console and replace the values with your
  • service-php.txt를 HelloAnalytics.php로 복사
  • 라이브러리 위치 수정
  • API용 구글 이메일, p12 파일명 입력
[root@zetawiki ~]# cp service-php.txt HelloAnalytics.php
[root@zetawiki ~]# vi HelloAnalytics.php
8c8
<   require_once 'google-api-php-client/src/Google/autoload.php';
---
>   require_once '/usr/share/php/vendor/Google/autoload.php';
12,13c12,13
<   $service_account_email = '<Replace with your service account email address.>';
<   $key_file_location = '<Replace with /path/to/generated/client_secrets.p12>';
---
>   $service_account_email = '871045965516-m6pxhmgmk0f6l6cdeq5alsbwh9own7ma.apps.googleusercontent.com';
>   $key_file_location = 'client_secrets.p12';

6 테스트

[root@zetawiki ~]# php HelloAnalytics.php
PHP Fatal error:  Uncaught exception 'Google_Service_Exception' with message 'Error calling GET https://www.googleapis.com/analytics/v3/management/accounts: (403) User does not have any Google Analytics account.' in /usr/share/php/vendor/Google/Http/REST.php:110
Stack trace:
#0 /usr/share/php/vendor/Google/Http/REST.php(62): Google_Http_REST::decodeHttpResponse(Object(Google_Http_Request), Object(Google_Client))
#1 [internal function]: Google_Http_REST::doExecute(Object(Google_Client), Object(Google_Http_Request))
#2 /usr/share/php/vendor/Google/Task/Runner.php(174): call_user_func_array(Array, Array)
#3 /usr/share/php/vendor/Google/Http/REST.php(46): Google_Task_Runner->run()
#4 /usr/share/php/vendor/Google/Client.php(593): Google_Http_REST::execute(Object(Google_Client), Object(Google_Http_Request))
#5 /usr/share/php/vendor/Google/Service/Resource.php(237): Google_Client->execute(Object(Google_Http_Request))
#6 /usr/share/php/vendor/Google/Service/Analytics.php(2259): Google_Service_Resource->call('list', Array, 'Google_Serv in /usr/share/php/vendor/Google/Http/REST.php on line 110

7 같이 보기

8 참고 자료

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