1. 기본설정
기본 API 사용을 위해 필요한 과정은 다음과 같다.
- 먼저 Google APIs Console에 가서 새로은 프로젝트를 만든다
https://code.google.com/apis/console/ - 새 프로젝트를 만들었다면 Services메뉴에 가서 Analytics API 서비스를 사용함으로 변경한다.
- API Access 메뉴에 가서 Create an Oauth 2.0 Client-ID... 버튼을 클릭한다.
- Product name, Home Page URL 등 정보를 입력한다.
- Application type은 web application으로 선택한다.
2. 다운로드
https://github.com/wanze/Google-Analytics-API-PHP
3. API 권한 부분 설정하기
3-1. Web applications 일때 (요청부분)
3-2. Redirect 부분 :: Google 서버는 요청된 redirect_url에 Code를 보내주며 redirect받은 페이지에서는 해당 코드를 토큰으로 만들어 저장하게 된다. 토큰의 유효시간은 3600초로 1시간동안 유지되며 해당 시간이 지나면 $ga->auth->refreshAccessToken($refreshToken); 로 다시 토큰을 받아야한다. 토큰을 받아온 후에는 Session이나 Database에 저장하여 해당 정보를 유지시켜주는것이 좋다.(불필요한 토큰 재요청 방지)
3-3. 토큰을 재발급 받는 예제. 토큰이 만료되었을때 재발급을 받도록 요청한다.
// Check if the accessToken is expired
if
((time() -
$tokenCreated
) >=
$tokenExpires
) {
$auth
=
$ga
->auth->refreshAccessToken(
$refreshToken
);
// Get the accessToken as above and save it into the Database / Session
}
4. Analytics API를 통해 계정 찾기
구글 API를 요청한 계정에는 하나의 사이트만 연결하여 사용하시는분도 계실 수 있고 두세게에서 많으면 수십개의 사이트를 연결해서 사용하는 유저도 있기때문에 Analytics 구글계정에 연동된 정보를 얻어와야한다. 여기서 필요한 사이트의 ID를 메모해두도록 한다. (ga:000000 형식)
5. 필요한 정보 API QUERY를 날려 얻어오기
구글에서 제공하는 Metrics & Dimensions 레퍼런스를 통해 필요한 정보를 API를 통해 Query를 날려 정보를 얻어올 수 있다. Query뿐만 아니라 Analytics Class에서 제공하는 함수를 통해서도 데이터에 쉽게 접근할수가 있다.
// Set the accessToken and Account-Id
$ga
->setAccessToken(
$accessToken
);
$ga
->setAccountId(
'ga:xxxxxxx'
);
// Set the default params. For example the start/end dates and max-results
$defaults
=
array
(
'start-date'
=>
date
(
'Y-m-d'
,
strtotime
(
'-1 month'
)),
'end-date'
=>
date
(
'Y-m-d'
),
);
$ga
->setDefaultQueryParams(
$defaults
);
// Example1: Get visits by date
$params
=
array
(
'metrics'
=>
'ga:visits'
,
'dimensions'
=>
'ga:date'
,
);
$visits
=
$ga
->query(
$params
);
// Example2: Get visits by country
$params
=
array
(
'metrics'
=>
'ga:visits'
,
'dimensions'
=>
'ga:country'
,
'sort'
=>
'-ga:visits'
,
'max-results'
=> 30,
'start-date'
=>
'2013-01-01'
//Overwrite this from the defaultQueryParams
);
$visitsByCountry
=
$ga
->query(
$params
);
// Example3: Same data as Example1 but with the built in method:
$visits
=
$ga
->getVisitsByDate();
// Example4: Get visits by Operating Systems and return max. 100 results
$visitsByOs
=
$ga
->getVisitsBySystemOs(
array
(
'max-results'
=> 100));
// Example5: Get referral traffic
$referralTraffic
=
$ga
->getReferralTraffic();
// Example6: Get visits by languages
$visitsByLanguages
=
$ga
->getVisitsByLanguages();
Metrics & Dimensions Reference:
https://developers.google.com/analytics/devguides/reporting/core/dimsmets
Google Analytics Query Explorer for testing queries and results:
(쿼리를 테스트해볼 수 있는 좋은 사이트가 여기 있네요~)
'WEB > Etc' 카테고리의 다른 글
다음 사이트에 멀웨어가 있습니다. (0) | 2017.06.27 |
---|---|
CSS 재설정 하는 방법 (0) | 2016.08.08 |
HTML 및 JS 코드정리 하기 (0) | 2016.07.27 |
Windows Media Service를 이용한 스트리밍 (0) | 2016.07.22 |
Adobe Flash Live Media Encoder 를 이용한 라이브 스트리밍 (0) | 2016.07.22 |