Python + Google Analytics APIによる 「はてなブログ」のアクセス解析!!Part1

f:id:monozukuri-bu:20170815001221j:plain

モノづくり部 D嶋です。

ブログをはじめて、早一か月。やはり気になるのは、アクセス数ですよね( ̄▽ ̄;)

単純なアクセス数は、はてなブログの機能のひとつ「アクセス解析」で確認する事ができますが、
今回は、もっと詳細な情報が欲しいと思って、Google Analyticsを使ってみようと思います。

しかも、
Google Analytics解析ページを参照するのではなく、Google Analytics APIPythonを使って、
自動で、欲しいアクセス解析情報を取得してみようと思います!!

■対象者
今回の記事は、下記のような方(私だ)を対象にした手順メモになります。
Pythonをちょこっと書ける
Google Analyticsをちょこっと使ったことがある

■導入ツール

ツール名 バージョン 説明
Python 3.6.2 汎用のプログラミング言語
google-api-python-client 1.6.2 Google Analytics APIを使うためのクライアントライブラリ
pyOpenSSL 17.2.0 Google Analytics API実行時に必要になるライブラリ

■前提条件
1)Googleアカウントを取得していること
2)アクセス解析対象となる、はてなブログがあること

セットアップ

【1】はてなブログGoogle Analyticsを導入する

自分のはてなブログを、Google Analyticsアクセス解析できるように設定します。

まずは、Google Analyticsの設定サイトで、 自分のブログのURLに対するGoogle Analyticsラッキングコードを取得します。
(トラッキングコード取得手順は、割愛させてください)

次に、はてなブログの「設定」⇒「詳細設定」⇒「解析ツール」の「Google Analytics 埋め込み」欄に
取得したトラッキングIDを設定して、「変更する」ボタンを押下します。

f:id:monozukuri-bu:20170814202903p:plain

これで、Google Analyticsで、はてなブログアクセス解析ができるようになりました。

【2】Google Analytics APIを使えるようにする

Google Analytics APIを使って、アクセス情報を取得できるようにします。

Google Analytics公式サイトPythonクイックスタートを参照して、セットアップしますが、
わかりにくかったので、自分なりに整理してみました。

https://developers.google.com/analytics/devguides/reporting/core/v3/quickstart/service-py?hl=ja

ちょっと、やることがいっぱいですけど、
流れとしては、下記の通りです。

1)プロジェクトを作成する。
2)Google Analytics APIを有効にする。
3)クライアントIDを作成する。
4)サービスアカウントと秘密鍵を作成する。
5)Google Analyticsアカウントにサービスアカウントを追加する。
6)Google Analytics APIクライアントライブラリをインストールする。

1)~3)は、セットアップツールなるもので処理します。
下記の「セットアップツールを使用」をクリックしてください。

f:id:monozukuri-bu:20170814202708p:plain

1)プロジェクトを作成する。

セットアップ画面が表示されるので、「プロジェクトを選択」をクリックしてます。
【メモ】
ここで、プルダウン「プロジェクトを作成」を選択したまま、「続行」ボタンを押下してもプロジェクトが作成されますが、 任意の名前を設定できないので、下記のやり方でプロジェクトを作成します。
もっと良いやり方がありましたら、ごめんなさい。。。

f:id:monozukuri-bu:20170814204023p:plain

選択ダイアログが表示されるので、プロジェクトを作成ボタン「+」をクリックします。

f:id:monozukuri-bu:20170814203937p:plain

新しいプロジェクト画面が表示されるので、プロジェクト名を入力します。

f:id:monozukuri-bu:20170814205551p:plain

編集をクリックして、任意のプロジェクトIDも指定できます。 最後に、「作成」ボタンを押下します。

f:id:monozukuri-bu:20170814205821p:plain

2)Google Analytics APIを有効にする。

しばらくすると、セットアップ画面に戻るので、プルダウンから先ほど作成したプロジェクト名を選択して、「続行」ボタンを押下します。
【メモ】
プロジェクトを作成してから、プルダウンに反映されるまでに、少し時間がかかるようです。
反映されていない場合、1分くらい待ってみてください。

f:id:monozukuri-bu:20170814210803p:plain

自動で、APIが有効になるので、「認証情報に進む」ボタンを押下します。

f:id:monozukuri-bu:20170814211307p:plain

3)クライアントIDを作成する。

プロジェクトへの認証情報の追加画面が表示されるので、
「使用するAPI」に、「Analytics API」を
APIを呼び出す場所」に、任意の場所を
「アクセスするデータの種類」に、「ユーザーデータ」を
設定して、「必要な認証情報」ボタンを押下します。

f:id:monozukuri-bu:20170814212248p:plain

次に、クライアントIDとする「名前」を入力して、「クライアントIDの作成」ボタンを押下します。

f:id:monozukuri-bu:20170814212657p:plain

次に、Googleアカウントのメールアドレスを指定して、
任意のサービス名(今回は、自分のはてなブログ)を入力して、「次へ」ボタンを押下します。

f:id:monozukuri-bu:20170814213136p:plain

次に、「完了」ボタンを押下します。
認証情報をダウンロードしても構いませんが、今回は利用しません。

f:id:monozukuri-bu:20170815223519p:plain

4)サービスアカウントと秘密鍵を作成する。

Pythonクイックスタート画面に戻ります。
クライアントID作成の「サービスアカウント」ページを開きます。
【メモ】
Pythonクイックスタート画面には、クライアントID作成と記載されていますが、
クライアントIDは、作業3)で作成済みです。
ここで作成するのは、サービスアカウントと秘密鍵になるので注意してください。

f:id:monozukuri-bu:20170814215206p:plain

「選択」ボタンを押下します。

f:id:monozukuri-bu:20170814215402p:plain

先ほど作成したプロジェクトをクリックします。

f:id:monozukuri-bu:20170814215855p:plain

「サービスアカウントを作成」ボタンを押下します。

f:id:monozukuri-bu:20170814220220p:plain

任意の「サービスアカウント名」「サービスアカウントID」を入力して、
プルダウン「役割」から、任意のものを選択します。

「新しい秘密鍵の提供」(キーのタイプは、「P12」)と「G Suiteドメイン全体の委任を有効にする」にチェックを入れて、「作成」をクリックします。

f:id:monozukuri-bu:20170814232137p:plain

サービスアカウントと秘密鍵が作成されました。
秘密鍵は、自動でダウンロードフォルダに、ダウンロードされます。
整理しやすい場所に移動させておきましょう。
また、
ここで、サービスアカウントIDをメモしておきましょう。

f:id:monozukuri-bu:20170814222213p:plain

f:id:monozukuri-bu:20170814225050p:plain

5)Google Analyticsアカウントにサービスアカウントを追加する。

Google Analyticsの設定サイトで、先ほど作成したサービスアカウントを登録します。

「管理」⇒対象とするはてなブログのプロパティにある「ユーザー管理」を開き、
先ほど取得したサービスアカウントIDを入力して、「追加」ボタンを押下します。

f:id:monozukuri-bu:20170814225829p:plain

登録されると、下記のように一覧表示されます。

f:id:monozukuri-bu:20170814230710p:plain

6)Google Analytics APIクライアントライブラリをインストールする。

自分の開発環境に、Google Analytics APIクライアントライブラリをインストールします。
pipコマンドでインストールできます。必要であればroot権限で実行してください。

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

これで、
Google Analytics APIを使う準備ができました!!

動作確認

セッション数を取得する

今回は、Google Analytics公式サイトのPythonクイックスタートで提供されているサンプルコードを利用して、動作確認しようと思います。
このサンプルコードで、過去7日間のセッション数を取得することができます。

まず最初に、
Google Analytics公式サイトのサンプルコードをダウンロードします。
サンプルコード名は、「HelloAnalytics.py」になります。

https://developers.google.com/analytics/resources/samples/service-py.txt?hl=ja

次に、
サンプルコードに、自分のサービスアカウントIDと秘密鍵のパスを記載します。
下記のサンプルコード内の位置に設定します。

  :
# Use the developer console and replace the values with your
# service account email and relative location of your key file.
service_account_email = 'hatena-blog-analysis@●●●.iam.gserviceaccount.com'
key_file_location = '</パス/D-Shima-●●●●●.p12>'
  :

実際に、サンプルコードを実行します。
下記のように表示されたら、成功です。

$ python HelloAnalytics.py

View (Profile): すべてのウェブサイトのデータ
Total Sessions: 513

【メモ】
環境によっては、下記のエラーメッセージが表示される可能性があります。  

This library only implements PKCS#12 support via the pyOpenSSL library.
Either install pyOpenSSL, or please convert the .p12 file

この場合、pyOpenSSLパッケージをインストールすることで解決します。

$ pip install pyOpenSSL

 
 
今回のPart1では、Google Analytics APIを使うためのセットアップをして、サンプルコードで動作確認しました。
Part2では、Google Analytics APIを使ったプログラムの記載方法に触れていきたいと思います。