本記事では、PythonでGoogleアナリティクスAPIを使いPV数を確認する方法をご紹介します。
設定のための画面イメージ、Pythonのソースコードを公開しているので、GoogleアナリティクスとPythonの環境さえあれば、Google Analytics APIをすぐに使えるようになると思います。
想定読者
・ブログなどの自分のサイトを持っていて、Googleアナリティクスを使っている。
・PythonでなにかAPIを使ってみたい。
※本時期は、2020年11月17日時点の情報となります。
PythonでGoogle Analytics APIを使う事前準備
PythonでGoogleアナリティクスAPIを使う前提条件
PythonでGoogleアナリティクスAPIを使う前提条件を次の通りです。
・Google、Googleアナリティクスにログインできるアカウントがある。
・Pythonを動作させる環境がある。
本記事のPythonの実行環境
今回は、以下の実行環境でプログラムを実行しています。
・Python 3.7.6
・Jupyterlab 1.2.6
Google Analytics APIを使うための設定手順
Google Analytics APIを使うための設定手順として、次の5ステップを行います。
step
1 「Google Developer Console」でプロジェクトを作成
まず、Googleアカウントにログインした状態で、「Google Developer Console」にアクセスします。
Google APIsロゴの右の部分をクリックし、「新しいプロジェクト」をクリックします。
「プロジェクト名」に任意の名前を入力し、「作成」ボタンをクリックします。
step
2「Google Analytics API」を有効化する
ステップ1で作成したプロジェクトの「Google Analytics API」を有効化します。
左のメニューから「ダッシュボード」を選択肢し、「APIとサービスの有効化」をクリックします。
検索窓で「analytics」と検索し、「Google Analytics API」をクリックします。
「有効にする」をクリックします。
step
3サービスアカウントを作成する
Step1で作成したプロジェクトにサービスアカウントを作成します。このアカウントでGoogleアナリティクスにアクセスしてデータを抽出することとなります。
プロジェクト画面の左メニュー「認証情報」を選択し、「サービスアカウントを管理」をクリックします。
「サービスアカウントを作成」をクリックします。
「サービスアカウント名」に任意の名前を入力し、「完了」をクリックします。
step
4サービスアカウントの鍵を作成する
ここでは、Step3で作成したサービスアカウントの認証情報である鍵を作成します。
操作列のメニューをクリックし、「鍵を作成」をクリックします。
キーのタイプは、「JSON」を選択し、「作成」をクリックします。
そうすると、鍵のファイルがパソコンのローカルフォルダにダウンロードされます。
step
5Google Analyticsでサービスアカウントのアクセス権を付与する
まず、自身のGoogle Analyticsを開きます。
画面左のメニューの「管理」を選択します。
「ユーザー管理を表示」を選択します。
ユーザー管理画面で、左上にある「+ボタン」をクリックし、「ユーザーを追加」を選択します。
「メールアドレス」を入力し、権限の上の3つにチェックを入れて、「追加」をクリックします。
メールアドレスは、「Google Developer Console」のサービスアカウント画面の「メール」の部分をコピーして貼り付けます。
ここまででGoogleアナリティクスAPIを使うための設定が終わりです。
次は、実際にGoogleアナリティクスAPIを使うためPythonのソースコードをみていきます。
PythonでGoogle Analytics APIを使いPV数を抽出する方法
PythonでGoogle Analytics APIを使つための準備
まず、PythonでGoogleアナリティクスを使うために次の3つの準備をします。
・新規の作業フォルダを作成し、サービスアカウントの鍵と新規のipynbファイルを置く
・GoogleアナリティクスのビューIDをメモしておく
・必要なライブラリのインストールする
1つ目は特に問題ないと思うので、残り2つを説明します。
Google AnalyticsのビューIDをメモしておく
Googleアナリティクスの管理メニューから「ビューの設定」を選択します。
「ビューID」の下に9桁の数字が書かれてます。これがビューIDとなります。
必要なライブラリのインストールする
PythonでGoogleアナリティクスを使うために必要なライブラリを次の通り、インストールします。
pip install --upgrade google-api-python-client
pip install oauth2client
これで、Pythonの準備が整いました。
次は、ようやくPythonの実際のソースコードをみていきます。
PythonでGoogle Analytics APIを使いPV数を確認するソースコード
それでは、新しく作ったipynbファイルに上からソースを書いていきます。
まずは、インストールしたライブラリをインポートします。
#Google Analytics APIを使うためのライブラリのインポート
from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials
次に、GoogleアナリティクスとAPIを繋ぐためのサービスを立ち上げる関数のコードを書きます。
これは、Googleから提供されているコードで、コピペでOKです。
def get_service(api_name, api_version, scopes, key_file_location):
"""Get a service that communicates to a Google API.
Args:
api_name: The name of the api to connect to.
api_version: The api version to connect to.
scopes: A list auth scopes to authorize for the application.
key_file_location: The path to a valid service account JSON key file.
Returns:
A service that is connected to the specified API.
"""
credentials = ServiceAccountCredentials.from_json_keyfile_name(
key_file_location, scopes=scopes)
# Build the service object.
service = build(api_name, api_version, credentials=credentials)
return service
変数を設定します。
key_file_locationは、鍵のファイル名を入力します。.jsonの拡張子も忘れずつけましょう。
view_idには、GoogleアナリティクスのビューIDを入力します。
#変数の設定
scope = 'https://www.googleapis.com/auth/analytics.readonly'
key_file_location = '鍵のファイル名を入力(XXXXXXXXXX.json)'
view_id = '9桁のビューを入力'
サービスを立ち上げる関数を使って、サービスを立ち上げます。
これもコピペでOKです。
#サービスの立ち上げ
service = get_service(
api_name='analytics',
api_version='v3',
scopes=[scope],
key_file_location=key_file_location)
Googleアナリティクスからデータを抽出する条件を設定を設定します。
ここでは、当日のPV数を取ってきています。
次のサイトをみれば、他の設定の抽出条件も設定できます。
Core Reporting API - リファレンス ガイド
#Google Analyticsのデータを取得
results = service.data().ga().get(
ids='ga:' + view_id,
start_date='today',
end_date='today',
metrics='ga:pageviews').execute()
最後に抽出した結果を出力します。
resultsはdict型になっており、resultsの内容をみて、自由に出力内容を変えることもできます。
#結果の出力
print('今日のPV数:{}'.format(results.get('rows')[0][0]))
実行結果は、次のようになり、ちゃんと今日のPV数が表示されました。
こんな感じで、Google AnalyticsからAPIを使って、自分の欲しい情報を取得することができます。
これを使えば、PythonでPandasを使って表形式にしたり、グラフ化したりと、サイト管理を効率化・自動化できそうですね。
【保存版】PythonでできるExcel操作のまとめ一覧
Excelで作業するのって大変だな〜 なにか楽な方法ないかな〜 Excelの集計や単純作業は、Pythonで楽にできるよ!!この一覧 ...
続きを見る
【保存版】Python/Matplotlibで仕事で使えるグラフ作成のまとめ一覧
Pythonでデータは集約したけど、うまく可視化できないかな〜 グラフ種類や設定の数が多過ぎて。。 Pythonでは、いろんなグラフ ...
続きを見る
ぜひぜひGoogle Analytics APIを使って、いろんなことを試してみてください。
以上となります。
最後まで読んでいただき、ありがとうございました。
0からPythonを勉強したい方向け
おすすめのUdemy講座を紹介します。筆者もこの講座で勉強しました。