【Python】概要・準備編:Googleアナリティクスのレポートを作ってみよう!(Windows)

Googleアナリティクスのレポート、自動で出せませんか?

出せます!

ということで、Pythonが1ミリしか分かりませんが、Googleアナリティクスのレポート(Excelファイル)を自動で出してみました。

作り方のステップ

  1. PythonをPCに入れる & GoogleアナリティクスのAPIをたたく準備をする ← これの話をします。
  2. 出したいレポートの内容を考える & Excelでいったん手で作ってみる
  3. 出したいレポートの内容をAPIで取得する & テンプレートのExcelファイルに書き込みする

今回つくるもの

これを

こうじゃ!

PCの準備をします!(Windows)

Pythonのインストール

PowerShellで、pythonと入力すると

Microsoft Storeが起動してPythonのインストール画面が開きますのでPythonをインストールしておきます!

GoogleアナリティクスでAPIをたたく準備!

参考サイト:https://www.boost-on.net/1891

APIをたたくための認証情報を作る

ありがたい参考サイトを確認しつつ、Google APIsで、①プロジェクトの作成、②認証情報JSONの取得、③Google Analytics Reporting APIの有効化を行います。

APIをたたくアカウントに、Google アナリティクスの「表示/分析」権限をつける

ありがたい参考サイトを確認しつつ、Googleアナリティクスのアカウントの「表示/分析」権限を、Google APIsでつくったプロジェクトの認証情報に記載のメールアドレスにたいして設定します。

とりあえずAPIをたたいてみる

ファイルの準備

  • Google APIs でダウンロードしてきた認証情報JSONファイル
  • 空のpythonファイル(.py)

PCに追加のpythonライブラリのインストール

最初にPythonインストールしたのですが、それだけだとちょっと足りないのでPowerShellで

pip install --upgrade google-api-python-client
pip install --upgrade oauth2client

この辺を入れておきます。

※現時点では1行目だけでもよかったかも…

pythonファイルの準備

practice01.py の内容を、公式↓↓
https://developers.google.com/analytics/devguides/reporting/core/v4/quickstart/installed-py?hl=ja
を参考にしつつ、python3系で動くようにしたコードを入力します。

pythonに同梱されるIDLEでpyファイルを開く

pyファイルの内容を書く

※Google公式のコードがpython2系だったので、少し変更したコードです。jsonファイル名とビュー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 = '★ここにjsonファイル名★.json'
 VIEW_ID = '★ここにビュー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)
 main()

ビューIDはこれです!

[Run]→[Run Module]でpyファイルを実行

とりあえずなんか動く

とりあえず何かが動きました!!!

続きはまた今度

  1. PythonをPCに入れる & GoogleアナリティクスのAPIをたたく準備をする ← これの話をしました。
  2. 出したいレポートの内容を考える & Excelでいったん手で作ってみる
  3. 出したいレポートの内容をAPIで取得する & テンプレートのExcelファイルに書き込みする