› Spec
CPU: Apple M1 or Intel i5
RAM: 8GB
Storage: 256GB SSD
OS: macOS or Windows 11
Python: 3.11.5 and 3.8.7
Python_venv_path: Only /desktop/[folder]
IDE: Visual Studio Code
› Home › About › Archive › Categories › Guestbook › Yt › FFmpeg › Youtube Thumbnail

Categories : SEO

구글 애널리틱스 GA4 API




  1. 구글 애널리틱스 라이브러리 설치
  2. 0. Google Analytics Data API 코드

구글 애널리틱스 라이브러리 설치

pip install google-analytics-data


0. Google Analytics Data API 코드

from google.oauth2 import service_account
from google.analytics.data_v1beta import BetaAnalyticsDataClient
from google.analytics.data_v1beta.types import DateRange, Dimension, Metric, RunReportRequest, FilterExpression, Filter

# 서비스 계정 키 파일을 사용하여 인증
# https://console.cloud.google.com/ 
# 프로젝트 -> IAM 및 관리자 -> 서비스 계정 만들기 -> ID만 대충 넣고 -> 해당 서비스계정 클릭 -> 키 -> 키 추가 -> 새 키 만들기 -> 다운로드된 파일(.JSON)의 경로 지정
credentials = service_account.Credentials.from_service_account_file("C:\\***.json")

# 만드는 과정에 서비스계정의 이메일을 GA4 권한을 추가 또는 
# JSON 파일 메모장으로 열어보면 이메일이 있을텐데 GA4 권한에 추가

# GA4 데이터 클라이언트 생성
analytics_data_client = BetaAnalyticsDataClient(credentials=credentials)

# 특정 페이지 URL
page_url = "/category"

# 보고서 요청 설정
request = RunReportRequest(
    property=f"properties/000000000", # 속성아이디 
    # https://ga-dev-tools.google/ga4/query-explorer/ 에서 dimension 유형 확인
    dimensions=[Dimension(name="pagePathPlusQueryString")],
    # https://ga-dev-tools.google/ga4/query-explorer/ 에서 metrics 타입 확인
    metrics=[Metric(name="sessions")],
    date_ranges=[DateRange(start_date="yesterday", end_date="yesterday")], # 날짜 '2022-02-19' 형식사용 가능
    # https://ga-dev-tools.google/ga4/query-explorer/ 에서 dimension filter 타입 확인
    dimension_filter = FilterExpression(filter=Filter(field_name="pagePathPlusQueryString", string_filter=Filter.StringFilter(match_type=Filter.StringFilter.MatchType.BEGINS_WITH, value=page_url))),
)

# 보고서 실행
response = analytics_data_client.run_report(request)

a = 0
# 결과 출력
for row in response.rows:
    # print(f"{row.dimension_values[0].value} : {row.metric_values[1].value}")
    a += int(row.metric_values[0].value)
print(a)




확대 이미지