Google Analytics Popular PostsのGAPI3.0対応

このブログで人気記事をランキングして上位5位を表示するのにGoogle Analytics Popular Postsというプラグインを使用しているんだけど最近使えなくなっていたから手動で修正した。
このWordpressプラグインは最近更新されていないみたいでオリジナルのリポジトリもないのでとりあえず最低限動くところまで備忘録として載せておく。
本来は作者に連絡するなりプルリク送るなりしたかったんだけど、プラグインに書いてるサイトのドメイン有効期限が切れていてどうしようもないので……
ライセンスの確認などが取れたらGitHubにでも対応版を載せたい。

概要

まずこのプラグインがなぜ使えなくなったかというと、Google Analyticsの情報を取得するためのAPI(以下GAPI)が変更され古い方式が使えなくなってしまったからだ。(GAPI2.x -> GAPI3.0)
しばらくは両方使えたのだがついに去年使用できなくなった。
そしてこのプラグインではPHPからGAPIを操作するためのライブラリを使用していたが、ライブラリのバージョンが低くて新しいバージョンに対応していなかった。(使い方も違いがあるのでそのままライブラリの更新のみではダメ)
そこでこのプラグインの新API対応を行う。

GAPIライブラリの更新

まずはGAPIライブラリを更新する。

GAPIライブラリのダウンロード

https://github.com/erebusnz/gapi-google-analytics-php-interface
上記プロジェクトを適当な作業ディレクトリにgit cloneする。
cloneしたディレクトリにcdしてgapi.class.phpがあるか確認する。

プラグインに付属のものと入れ替え

cp ./gapi.class.php /path/to/wordpress/wp-content/plugins/google-analytics-popular-posts/

Google Developerで権限登録

先に述べたとおりGAPI3.0では従来のユーザー名とパスワードでの認証ができなくなっており、Google Developerに登録する必要がある。

新規プロジェクト作成

https://console.developers.google.com/project
上記にアクセスする。
GoogleのアカウントでログインしているとGoogle Developer Consoleが表示されるので新規プロジェクト作成をクリックする。
プロジェクト名などを入力する画面が出るので適当に入力する。(プロジェクト名は特に公開するわけでもないので「GAPI」など適当で良い)

Analytics API有効化

プロジェクトが作成されたらプロジェクト一覧から今作成したプロジェクトを選択する。
サイドメニュー(Google Developer Consoleの横に「三」形のアイコンをクリック)に「API Manager」というメニューがあるのでクリックする。
API一覧に「Analytics API」があるので選択して有効化する。

認証情報の作成

サービスアカウントの認証情報を作成する。
API Managerのサイドメニューから認証情報を選択する。
「新しい認証情報」ボタンをクリックしOAuth2.0クライアントIDを選択する。
アプリケーションの種類でウェブアプリケーションを選択し適当に名前をつける。
認証情報が作成されると認証情報の画面に新しいクライアントが表示される。

鍵の作成

鍵をダウンロードする。
認証情報画面で作成したクライアントの名前をクリックする。
選択したクライアントの情報が表示されるので「サービスアカウントの管理」ボタンをクリックする。
サービスアカウントの情報が表示され、一番右にボタンがあるのでクリックして「鍵を作成」を選択する。
形式を聞かれるのでp12形式を選択し鍵をダウンロードする。
DLした鍵はwordpressプラグインディレクトリ(/path/to/wordpress/wp-content/plugins/google-analytics-popular-posts/)以下に配置する。

Google AnalyticsにIDを登録

新APIになり、Googleのアカウント(Gmailアドレス)ではなく先ほど作成したIDを使用することになるため、その情報をAnalytics側に登録する。
まず、認証情報の画面よりサービスアカウントの管理画面に進む。
メールアドレスの欄に「”サービス名”@xxx.gserviceaccount.com」と言った形で表示されているのでコピーする。
次にGoogle Analyticsのページに移動し、上部メニューから「アナリティクス設定」を選択する。
「ユーザー管理」を選択し、「権限を付与するユーザー」に先ほどのアドレスを貼り付けて追加する。

プラグインに認証情報を登録

これでプラグインの新APIへの対応ができたので、新しい認証情報をプラグインに登録する。
WordPressの管理画面を開き、Google Analytics Popular Postsプラグインの設定画面を開く。
メールアドレスとパスワードを入力する欄にそれぞれ上記で確認したIDとp12鍵ファイル名を記述する。
(今までメアド、パスワードを渡していたが新APIになりサービスアカウント、鍵ファイルを渡す)
フォーム画面の変更とかは今回やっていないので、鍵ファイル名のところがマスクされてしまうけどあまり気にしない。

これで保存すると従来通りプラグインが稼働すると思う。
とりあえず今回はここまでやった。
そのうちフォームを修正して正式にプラグインを対応させたいと思ってる。
どなたか作者の連絡先を教えて下さいな。

(後ほどコンソールの画面のスクショなどを追加予定)

*参考
GAPIの置き換えが必要
Google Analytics API で認証エラーになったら

コメント

タイトルとURLをコピーしました