이 튜토리얼에서는 Analytics Reporting API v4에 액세스하는 데 필요한 단계를 안내합니다.
1. API 사용 설정
Analytics Reporting API v4를 사용하려면 먼저 설정 도구를 사용해야 합니다. 이 도구는 Google API 콘솔에서 프로젝트를 만들고, API를 사용 설정하고, 사용자 인증 정보를 만드는 방법을 안내합니다.
사용자 인증 정보 만들기
- 서비스 계정 페이지를 엽니다. 메시지가 표시되면 프로젝트를 선택합니다.
- 서비스 계정 만들기를 클릭한 다음 서비스 계정의 이름과 설명을 입력합니다. 기본 서비스 계정 ID를 사용하거나 다른 고유한 ID를 선택할 수도 있습니다. 완료하면 만들기를 클릭합니다.
- 이어지는 서비스 계정 권한(선택사항) 섹션은 선택하지 않아도 됩니다. 계속을 클릭합니다.
- 사용자에게 이 서비스 계정에 대한 액세스 권한 부여 화면에서 키 만들기 섹션이 나올 때까지 아래로 스크롤합니다. 키 만들기를 클릭합니다.
- 표시되는 측면 패널에서 키에 사용할 형식을 선택합니다. JSON을 사용하는 것이 좋습니다.
- 만들기를 클릭합니다. 새로운 공개 키/비공개 키 쌍이 생성되어 기기에 다운로드됩니다. 생성된 파일은 이 키의 유일한 사본으로 사용됩니다. 키를 안전하게 보관하는 방법을 자세히 알아보려면 서비스 계정 키 관리를 참조하세요.
- 비공개 키가 컴퓨터에 저장됨 대화상자에서 닫기를 클릭한 다음 완료를 클릭하여 서비스 계정 표로 돌아갑니다.
Google 애널리틱스 계정에 서비스 계정 추가
새로 만든 서비스 계정의 이메일 주소는 다음과 유사합니다.
quickstart@PROJECT-ID.iam.gserviceaccount.com
이 이메일 주소를 사용하여 API를 통해 액세스할 Google 애널리틱스 보기에 사용자를 추가합니다. 이 튜토리얼에서는 읽기 및 분석 권한만 있으면 됩니다.
2. 클라이언트 라이브러리 설치하기
Python 패키지를 설치할 때 pip를 venv와 함께 사용하는 것이 좋습니다. sudo -s apt-get install python3-venv python3 -m venv analytics-quickstart source analytics-quickstart/bin/activate pip install --upgrade google-api-python-client pip install --upgrade oauth2client
3. 샘플 설정
제공된 샘플 코드를 포함하는 HelloAnalytics.py
라는 단일 파일을 만들어야 합니다.
- 다음 소스 코드를
HelloAnalytics.py
로 복사하거나 다운로드합니다. - 이전에 다운로드한
client_secrets.json
를 샘플 코드와 동일한 디렉터리로 이동합니다. KEY_FILE_LOCATION
의 값을 다운로드한client_secrets.json
의 적절한 경로로 바꿉니다.VIEW_ID
의 값을 바꿉니다. 계정 탐색기를 이용해 보기 ID를 찾을 수 있습니다.
"""Hello Analytics Reporting API V4.""" from apiclient.discovery import build from oauth2client.service_account import ServiceAccountCredentials SCOPES = ['https://www.googleapis.com/auth/analytics.readonly'] KEY_FILE_LOCATION = '<REPLACE_WITH_JSON_FILE>' VIEW_ID = '<REPLACE_WITH_VIEW_ID>' def initialize_analyticsreporting(): """Initializes an Analytics Reporting API V4 service object. Returns: An authorized Analytics Reporting API V4 service object. """ credentials = ServiceAccountCredentials.from_json_keyfile_name( KEY_FILE_LOCATION, SCOPES) # Build the service object. analytics = build('analyticsreporting', 'v4', credentials=credentials) return analytics def get_report(analytics): """Queries the Analytics Reporting API V4. Args: analytics: An authorized Analytics Reporting API V4 service object. Returns: The Analytics Reporting API V4 response. """ return analytics.reports().batchGet( body={ 'reportRequests': [ { 'viewId': VIEW_ID, 'dateRanges': [{'startDate': '7daysAgo', 'endDate': 'today'}], 'metrics': [{'expression': 'ga:sessions'}], 'dimensions': [{'name': 'ga:country'}] }] } ).execute() def print_response(response): """Parses and prints the Analytics Reporting API V4 response. Args: response: An Analytics Reporting API V4 response. """ for report in response.get('reports', []): columnHeader = report.get('columnHeader', {}) dimensionHeaders = columnHeader.get('dimensions', []) metricHeaders = columnHeader.get('metricHeader', {}).get('metricHeaderEntries', []) for row in report.get('data', {}).get('rows', []): dimensions = row.get('dimensions', []) dateRangeValues = row.get('metrics', []) for header, dimension in zip(dimensionHeaders, dimensions): print(header + ': ', dimension) for i, values in enumerate(dateRangeValues): print('Date range:', str(i)) for metricHeader, value in zip(metricHeaders, values.get('values')): print(metricHeader.get('name') + ':', value) def main(): analytics = initialize_analyticsreporting() response = get_report(analytics) print_response(response) if __name__ == '__main__': main()
4. 샘플 실행
다음을 사용하여 샘플을 실행합니다.
python HelloAnalytics.py
이 단계를 완료하면 샘플에는 특정 보기에 대한 지난 7일간의 세션수가 출력됩니다.
문제 해결
AttributeError: 'Module_six_moves_urllib_parse' 객체에 'urlparse' 속성이 없음
이 오류는 pip가 설치된 모듈보다 먼저 "six" 모듈의 기본 설치 (이 라이브러리의 종속 항목)가 로드되는 Mac OSX에서 발생할 수 있습니다. 이 문제를 해결하려면 pip의 설치 위치를 PYTHONPATH
시스템 환경 변수에 추가합니다.
다음 명령어를 사용하여 pip의 설치 위치를 확인합니다.
pip show6 | grep "위치:" | cut -d " " -f2
~/.bashrc
파일에 다음 줄을 추가하고<pip_install_path>
을 위에서 결정된 값으로 바꿉니다.export PYTHONPATH=$PYTHONPATH:<pip_install_path>
다음 명령어를 사용하여 열려 있는 터미널 창에서
~/.bashrc
파일을 새로고침합니다.소스 ~/.bashrc