"구글 Analytics API 시작하기"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-== 참고 자료 == +==참고==))
 
(사용자 3명의 중간 판 16개는 보이지 않습니다)
2번째 줄: 2번째 줄:
;구글 Analytics API 시작하기
;구글 Analytics API 시작하기
;구글 애널리틱스 API 튜토리얼
;구글 애널리틱스 API 튜토리얼
;HelloAnalytics


==목적 / 목표==
==목적 / 목표==
24번째 줄: 25번째 줄:
*[Generate new P12 key] 버튼 클릭
*[Generate new P12 key] 버튼 클릭
:API Project-7bq7391w37g9.p12 파일 다운로드됨
:API Project-7bq7391w37g9.p12 파일 다운로드됨
*서버에 업로드, 파일명을 client_secrets.p12으로 변경
*파일명을 client_secrets.p12으로 변경
<source lang='cli'>
*서버에 업로드
[root@zetawiki ~]# mv API_Project-7bq7391w37g9.p12 client_secrets.p12
<source lang='console'>
[root@zetawiki ~]# ll *.p12
[root@zetawiki ~]# ll *.p12
-rw-r--r-- 1 root root 1732 Jun 22 22:29 client_secrets.p12
-rw-r--r-- 1 root root 1732 Jun 22 22:29 client_secrets.p12
</source>
</source>


==예제 다운로드·수정==
==예제 다운로드==
<source lang='cli'>
<source lang='console'>
[root@zetawiki ~]# wget https://developers.google.com/analytics/resources/samples/service-php.txt
[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
--2015-06-22 23:07:25--  https://developers.google.com/analytics/resources/samples/service-php.txt
45번째 줄: 46번째 줄:
2015-06-22 23:07:26 (12.4 MB/s) - “service-php.txt” saved [3353/3353]
2015-06-22 23:07:26 (12.4 MB/s) - “service-php.txt” saved [3353/3353]
</source>
</source>
<source lang='cli'>
<source lang='console'>
[root@zetawiki ~]# head service-php.txt
[root@zetawiki ~]# head service-php.txt
<?php
<?php
58번째 줄: 59번째 줄:
   // Use the developers console and replace the values with your
   // Use the developers console and replace the values with your
</source>
</source>
==예제 복제·수정==
* service-php.txt를 HelloAnalytics.php로 복사
* service-php.txt를 HelloAnalytics.php로 복사
* 라이브러리 위치 수정
* 라이브러리 위치 수정
* API용 구글 이메일, p12 파일명 입력
* API용 구글 이메일, p12 파일명 입력
<source lang='cli'>
<source lang='console'>
[root@zetawiki ~]# cp service-php.txt HelloAnalytics.php
[root@zetawiki ~]# cp service-php.txt HelloAnalytics.php
[root@zetawiki ~]# vi HelloAnalytics.php
[root@zetawiki ~]# vi HelloAnalytics.php
</source>
</source>
<source lang='diff'>
<source lang='php'>
8c8
<?php
<   require_once 'google-api-php-client/src/Google/autoload.php';
 
---
function getService()
>   require_once '/usr/share/php/vendor/Google/autoload.php';
{
12,13c12,13
  // Creates and returns the Analytics service object.
<   $service_account_email = '<Replace with your service account email address.>';
 
<   $key_file_location = '<Replace with /path/to/generated/client_secrets.p12>';
  // Load the Google API PHP Client Library.
---
   #### require_once 'google-api-php-client/src/Google/autoload.php';
>   $service_account_email = '871045965516-m6pxhmgmk0f6l6cdeq5alsbwh9own7ma.apps.googleusercontent.com';
   require_once 'Google/autoload.php';
>   $key_file_location = 'client_secrets.p12';
 
  // Use the developers console and replace the values with your
  // service account email, and relative location of your key file.
   #### $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';
... (생략)
</source>
</source>


==테스트==
==테스트 (실패)==
<source lang='cli'>
<source lang='console'>
[root@zetawiki ~]# php HelloAnalytics.php
[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
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:
Stack trace:
#0 /usr/share/php/vendor/Google/Http/REST.php(62): Google_Http_REST::decodeHttpResponse(Object(Google_Http_Request), Object(Google_Client))
#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)
</source>
#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))
==Analytics에 API 이메일 계정 등록==
#5 /usr/share/php/vendor/Google/Service/Resource.php(237): Google_Client->execute(Object(Google_Http_Request))
*http://www.google.com/analytics/ 접속
#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
*[로그인] 클릭
*[관리] 탭 선택
*[사용자 관리] 메뉴 클릭
*다음 사용자에게 권한 추가: 871045965516-m6pxhmgmk0f6l6cdeq5alsbwh9own7ma.apps.googleusercontent.com<ref>계정 권한: 읽고 분석하기</ref><ref>자신의 구글 API 콘솔 Credentials에 있는 이메일 주소 입력</ref>
*[추가] 버튼 클릭
 
==테스트 2 (성공)==
<source lang='console'>
[root@zetawiki ~]# php HelloAnalytics.php
First view (profile) found: zetawiki.com
Total sessions: 7
</source>
</source>


96번째 줄: 116번째 줄:
*[[구글 API 시작하기]]
*[[구글 API 시작하기]]


==참고 자료==
==주석==
*https://developers.google.com/analytics/solutions/articles/hello-analytics-api Tutorial: Hello Analytics API
<references/>
 
==참고==
*https://developers.google.com/analytics/devguides/reporting/core/v3/quickstart/service-php
*https://developers.google.com/analytics/devguides/reporting/core/v3/quickstart/service-php
*https://developers.google.com/api-client-library/php/ Google APIs Client Library for PHP
*http://stackoverflow.com/questions/12837748/analytics-google-api-error-403-user-does-not-have-any-google-analytics-account
*http://qiita.com/toru-om/items/6e7fb2881e97a542c74a


[[분류: 구글 API]]
[[분류: 구글 API]]
[[분류: 튜토리얼]]
[[분류: 구글 애널리틱스]]

2017년 6월 27일 (화) 22:26 기준 최신판

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

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

6 예제 복제·수정[ | ]

  • service-php.txt를 HelloAnalytics.php로 복사
  • 라이브러리 위치 수정
  • API용 구글 이메일, p12 파일명 입력
[root@zetawiki ~]# cp service-php.txt HelloAnalytics.php
[root@zetawiki ~]# vi HelloAnalytics.php
<?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';
  require_once 'Google/autoload.php';

  // Use the developers console and replace the values with your
  // service account email, and relative location of your key file.
  #### $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';
... (생략)

7 테스트 (실패)[ | ]

[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))
... (생략)

8 Analytics에 API 이메일 계정 등록[ | ]

  • http://www.google.com/analytics/ 접속
  • [로그인] 클릭
  • [관리] 탭 선택
  • [사용자 관리] 메뉴 클릭
  • 다음 사용자에게 권한 추가: 871045965516-m6pxhmgmk0f6l6cdeq5alsbwh9own7ma.apps.googleusercontent.com[1][2]
  • [추가] 버튼 클릭

9 테스트 2 (성공)[ | ]

[root@zetawiki ~]# php HelloAnalytics.php
First view (profile) found: zetawiki.com
Total sessions: 7

10 같이 보기[ | ]

11 주석[ | ]

  1. 계정 권한: 읽고 분석하기
  2. 자신의 구글 API 콘솔 Credentials에 있는 이메일 주소 입력

12 참고[ | ]

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