Python × API

PythonでGoogle Analytics APIを使いPV数を抽出する方法

2020-11-17

python-google-analytics

 

Googleアナリティクスの情報を取得できないかな〜
PythonでGoogleアナリティクスAPIを使えば、PV数などが自由に取得できるよ〜

 

本記事では、PythonでGoogleアナリティクスAPIを使いPV数を確認する方法をご紹介します。

 

設定のための画面イメージPythonのソースコードを公開しているので、GoogleアナリティクスとPythonの環境さえあれば、Google Analytics APIをすぐに使えるようになると思います。

 

想定読者

・ブログなどの自分のサイトを持っていて、Googleアナリティクスを使っている。

・PythonでなにかAPIを使ってみたい。

 

※本時期は、2020年11月17日時点の情報となります。

 

PythonでGoogle Analytics APIを使う事前準備

google-analytics1

PythonでGoogleアナリティクスAPIを使う前提条件

PythonでGoogleアナリティクスAPIを使う前提条件を次の通りです。

・Google、Googleアナリティクスにログインできるアカウントがある。

・Pythonを動作させる環境がある。

 

 

本記事のPythonの実行環境

今回は、以下の実行環境でプログラムを実行しています。

・Python 3.7.6
・Jupyterlab 1.2.6

 

 

Google Analytics APIを使うための設定手順

google-analytics2

Google Analytics APIを使うための設定手順として、次の5ステップを行います。

 

step
1
「Google Developer Console」でプロジェクトを作成

まず、Googleアカウントにログインした状態で、「Google Developer Console」にアクセスします。

Google Developer Console

 

Google APIsロゴの右の部分をクリックし、「新しいプロジェクト」をクリックします。

アナリティクス1

 

「プロジェクト名」に任意の名前を入力し、「作成」ボタンをクリックします。

アナリティクス2

 

step
2
「Google Analytics API」を有効化する

ステップ1で作成したプロジェクトの「Google Analytics API」を有効化します。

左のメニューから「ダッシュボード」を選択肢し、「APIとサービスの有効化」をクリックします。

アナリティクス3

 

検索窓で「analytics」と検索し、「Google Analytics API」をクリックします。

アナリティクス4

 

「有効にする」をクリックします。

アナリティクス5

 

step
3
サービスアカウントを作成する

Step1で作成したプロジェクトにサービスアカウントを作成します。このアカウントでGoogleアナリティクスにアクセスしてデータを抽出することとなります。

プロジェクト画面の左メニュー「認証情報」を選択し、「サービスアカウントを管理」をクリックします。

アナリティクス6

 

「サービスアカウントを作成」をクリックします。

アナリティクス7

 

「サービスアカウント名」に任意の名前を入力し、「完了」をクリックします。

アナリティクス8

 

step
4
サービスアカウントの鍵を作成する

ここでは、Step3で作成したサービスアカウントの認証情報である鍵を作成します。

操作列のメニューをクリックし、「鍵を作成」をクリックします。

 

アナリティクス9-2

キーのタイプは、「JSON」を選択し、「作成」をクリックします。

そうすると、鍵のファイルがパソコンのローカルフォルダにダウンロードされます。

アナリティクス10

 

 

step
5
Google Analyticsでサービスアカウントのアクセス権を付与する

まず、自身のGoogle Analyticsを開きます。

画面左のメニューの「管理」を選択します。

 

アナリティクス12

 

「ユーザー管理を表示」を選択します。

アナリティクス13

 

ユーザー管理画面で、左上にある「+ボタン」をクリックし、「ユーザーを追加」を選択します。

アナリティクス15

 

「メールアドレス」を入力し、権限の上の3つにチェックを入れて、「追加」をクリックします。

アナリティクス16

メールアドレスは、「Google Developer Console」のサービスアカウント画面の「メール」の部分をコピーして貼り付けます。

アナリティクス11

 

ここまででGoogleアナリティクスAPIを使うための設定が終わりです。

次は、実際にGoogleアナリティクスAPIを使うためPythonのソースコードをみていきます。

 

PythonでGoogle Analytics APIを使いPV数を抽出する方法

google-analytics3

PythonでGoogle Analytics APIを使つための準備

まず、PythonでGoogleアナリティクスを使うために次の3つの準備をします。

・新規の作業フォルダを作成し、サービスアカウントの鍵と新規のipynbファイルを置く

・GoogleアナリティクスのビューIDをメモしておく

・必要なライブラリのインストールする

 

1つ目は特に問題ないと思うので、残り2つを説明します。

 

Google AnalyticsのビューIDをメモしておく

Googleアナリティクスの管理メニューから「ビューの設定」を選択します。

 

アナリティクス14

 

「ビューID」の下に9桁の数字が書かれてます。これがビューIDとなります。

アナリティクス17

 

必要なライブラリのインストールする

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数が表示されました。

アナリティクス18

 

こんな感じで、Google AnalyticsからAPIを使って、自分の欲しい情報を取得することができます。

これを使えば、PythonでPandasを使って表形式にしたり、グラフ化したりと、サイト管理を効率化・自動化できそうですね。

 

【保存版】PythonでできるExcel操作のまとめ一覧
【保存版】PythonでできるExcel操作のまとめ一覧

  Excelで作業するのって大変だな〜 なにか楽な方法ないかな〜   Excelの集計や単純作業は、Pythonで楽にできるよ!!この一覧 ...

続きを見る

 

python-matplotlib-graph
【保存版】Python/Matplotlibで仕事で使えるグラフ作成のまとめ一覧

  Pythonでデータは集約したけど、うまく可視化できないかな〜 グラフ種類や設定の数が多過ぎて。。   Pythonでは、いろんなグラフ ...

続きを見る

 

 

ぜひぜひGoogle Analytics APIを使って、いろんなことを試してみてください。

 

以上となります。

最後まで読んでいただき、ありがとうございました。

 

0からPythonを勉強したい方向け

おすすめのUdemy講座を紹介します。筆者もこの講座で勉強しました。

米国データサイエンティストがやさしく教えるデータサイエンスのためのPython講座

よく読まれている記事

se-shikaku 1

  社内SEになるには資格って必要?社内SEでキャリアップするときにおすすめの資格は? 回答としては、 社内SEは、対人スキル、実務での対応力や最新情 ...

社内SEの仕事内容 2

  社内SEってどんな仕事なんだろ~ 検索しても転職サイトの記事ばかりでよく分からない・・   確かにそうですね。。実経験を基に、社内SE( ...

side-work-trial 3

  コロナで会社の経営も不安。。個人でお金稼ぎたいな~ 今、こう考えるサラリーマン、OLの方はごまんといると思います。   僕は、本業では社 ...

adsense-pass 4

【3記事で一発合格】Google AdSense申請に合格したブログ情報 こんにちは、いなサラ(@いなサラ|田舎の情シスサラリーマン)です。 2019年10月5 ...

-Python × API

© 2020 inasala note