구글 애널리틱스는 웹사이트 분석을 위한 방문자수, 이탈률, 세션당 페이지수, 이탈률 등 다양한 지표를 제공합니다. 현황을 보기는 좋지만 엑셀 같은 프로그램으로 데이터 분석 하기에는 조금 불편합니다. API를 이용하면 데이터를 자동 수집할 수 있어 편리합니다.

 

 

1. API 허용하기

구글 애널리틱스 API를 사용하기 위해서는 Google 애널리틱스 API 사이트에 들어가서 API를 사용하겠다는 것을 알려야 합니다.

 

- 구글 애널리틱스 API 사이트: https://developers.google.com/analytics/

 

 

API를 통해서 데이타를 가져오려면 해당 사이트 관리자임을 인증해야 합니다. 인증하는 방법은 여러 가지가 있는데, 많이 사용하는 방법은 OAuto 2.0입니다. 우선 Credentials Page(자격증명)를 엽니다. 위치는 구글 애널리틱스 홈페이지의 Core Reporting API를 클릭하고, 그다음 메뉴에서 Installed Applications를 클릭하면 됩니다. Python메뉴로 들어가면 글 중간에 'Enable the API'가 있습니다. 그중에 Create credentials에 'Credentials page'를 클릭하면 됩니다.

 

 

API-인증토큰-받기-화면
구글-API

 

 

여기서 [사용자 인증정보]-[사용자 인증 정보 만들기]를 클릭합니다. OAuth 클라이언트 ID를 클릭하여 클라이언트 ID를 만듭니다. 애플리케이션 유형은 그냥 기타를 선택하면 됩니다.

 

구글 애널리틱스 인증키를 받기 위해 아래 주소를 인터넷 브라우저로 연결해본다.

 

https://accounts.google.com/o/oauth2/auth?response_type=token&client_id=[생성한 클라이언트ID를 넣는다]&redirect_uris=https://www.google.com&scope=https://www.googleapis.com/auth/analytics.readonly&redirect_uri=https://www.google.com

 

 

구글 로그인 화면이 나옵니다. 여기서 로그인을 하면 redirect url을 구글로 지정했기 때문에, 구글 페이지가 열립니다. 주소표시줄에 보면 인증키 값이 회신된 것을 알 수 있습니다.

 

구글-API-인증토큰-확인
URL-ACCESS-TOKEN-확인

 

 

참고로 인증토큰은 일정 시간이 지나면 변경되기 때문에, 데이터를 다시 가져오려면 인증 토큰을 다시 받아야 합니다. 주소 값을 회신받을 수 있으면, 거기에서 인증 토큰만 분리하면 됩니다. 하지만 주소 값을 회신받는 방법을 몰라 아래와 같이 약간은 수동이지만 인증 토큰 받는 방법을 간편화해 봤습니다.

 

# coding=utf-8
#
# GA API
#

from urllib.request import urlopen
import pandas as pd
import json
import sqlite3
import webbrowser
import numpy as np

import tistory_list


def get_token():
    url="https://accounts.google.com/o/oauth2/auth?response_type=token&[생성한 클라이언트 ID 삽입]&redirect_uris=https://www.google.com&scope=https://www.googleapis.com/auth/analytics.readonly&redirect_uri=https://www.google.com"

    webbrowser.open(url)

    # 2. 회신받은 주소를 통해 access_token을 추출한다
    result = input("주소창에 있는 값을 복사해서 입력 바랍니다:  ")

    temp = result.split("access_token=")[1]
    access_token = temp.split("&token_type")[0]

    return access_token

 

구글 애널리틱스 인증키를 받는 방법을 작성하다보니 생각보다 내용이 길어졌다. 생성한 인증키를 이용하여 데이터를 받는 방법은 다음에 다뤄보겠습니다.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기