구글 Analytics API 시작하기 편집하기

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
2번째 줄: 2번째 줄:
;구글 Analytics API 시작하기
;구글 Analytics API 시작하기
;구글 애널리틱스 API 튜토리얼
;구글 애널리틱스 API 튜토리얼
;HelloAnalytics


==목적 / 목표==
==목적 / 목표==
11번째 줄: 10번째 줄:
==사전 작업==
==사전 작업==
*[[구글 Analytics]] 사용해보기
*[[구글 Analytics]] 사용해보기
*[[구글 API 시작하기]]


==API 활성화==
==API 키 발급==
*https://console.developers.google.com/project 접속
*https://console.developers.google.com/project 접속
*API Project 클릭
*API Project 클릭
*왼쪽 메뉴(Sidebar)에서 APIs 클릭
*왼쪽 메뉴(Sidebar)에서 APIs & auth 아래 APIs 클릭
*Analytics API 클릭
*Analytics API 클릭
*[Enable API] 버튼 클릭
*[Enable API] 버튼 클릭
:"Enabled Analytics API"
:"Enabled Analytics API"
==P12 키 생성·업로드==
*왼쪽 메뉴(Sidebar)에서 Credentials 클릭
*왼쪽 메뉴(Sidebar)에서 Credentials 클릭
*[Generate new P12 key] 버튼 클릭
*OAuth 아래의 [Create new Client ID] 버튼 클릭
:API Project-7bq7391w37g9.p12 파일 다운로드됨
*Application type 선택: (O) Service account<ref>Web application, Service account, Installed application 중 선택. 여기서는 필자의 목적에 맞게 Service account를 선택함</ref> --- [Create Client ID] 버튼 클릭
*파일명을 client_secrets.p12으로 변경
*"New Public/Private key pair generated" 창과 함께 json 파일이 다운로드됨 --- [Okay, got it]
*서버에 업로드
:화면에 표시되는 내용은...
<source lang='console'>
{| class='wikitable'
[root@zetawiki ~]# ll *.p12
|+Service Account
-rw-r--r-- 1 root root 1732 Jun 22 22:29 client_secrets.p12
|-
</source>
| Client ID || 871045965516-m6pxhmgmk0f6l6cdeq5alsbwh9own7ma.apps.googleusercontent.com
 
|-
==예제 다운로드==
| Email address || 871045965516-m6pxhmgmk0f6l6cdeq5alsbwh9own7ma@developer.gserviceaccount.com
<source lang='console'>
|-
[root@zetawiki ~]# wget https://developers.google.com/analytics/resources/samples/service-php.txt
| Certificate fingerprints || tl28322d248g14q2kxt37d3253981ap8l878dyy3
--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, ...
:"API Project-6bd80f24cead.json" 파일의 내용은...
Connecting to developers.google.com|58.123.102.118|:443... connected.
<source lang='javascript'>
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]
</source>
<source lang='console'>
[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
</source>
 
==예제 복제·수정==
* service-php.txt를 HelloAnalytics.php로 복사
* 라이브러리 위치 수정
* API용 구글 이메일, p12 파일명 입력
<source lang='console'>
[root@zetawiki ~]# cp service-php.txt HelloAnalytics.php
[root@zetawiki ~]# vi HelloAnalytics.php
</source>
<source lang='php'>
<?php
 
function getService()
{
{
   // Creates and returns the Analytics service object.
   "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",
   // Load the Google API PHP Client Library.
   "client_email": "871045965516-m6pxhmgmk0f6l6cdeq5alsbwh9own7ma@developer.gserviceaccount.com",
  #### require_once 'google-api-php-client/src/Google/autoload.php';
   "client_id": "871045965516-m6pxhmgmk0f6l6cdeq5alsbwh9own7ma.apps.googleusercontent.com",
  require_once 'Google/autoload.php';
   "type": "service_account"
 
}
  // 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>


==테스트 (실패)==
==PHP 라이브러리 설치 요건 확인==
<source lang='console'>
{{참고|PHP 버전 확인}}
[root@zetawiki ~]# php HelloAnalytics.php
{{참고|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 버전 5.2.1 이상, JSON 확장기능
Stack trace:
<source lang='cli'>
#0 /usr/share/php/vendor/Google/Http/REST.php(62): Google_Http_REST::decodeHttpResponse(Object(Google_Http_Request), Object(Google_Client))
[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
</source>
</source>
 
<source lang='cli'>
==Analytics에 API 이메일 계정 등록==
[root@zetawiki ~]# php -m | grep json
*http://www.google.com/analytics/ 접속
json
*[로그인] 클릭
*[관리] 탭 선택
*[사용자 관리] 메뉴 클릭
*다음 사용자에게 권한 추가: 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>


==같이 보기==
==같이 보기==
*[[구글 Analytics]]
*[[구글 Analytics]]
*[[구글 API 시작하기]]


==주석==
==주석==
<references/>
<references/>


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


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

제타위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 제타위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 편집 도움말 (새 창에서 열림)