数年前にアナリティクスのデータ(csv)を用いて、エクセルで諸々集計して、レポートを作るツールを作ったことがあります。
ですが、エクセルで対応したこともあり、現在はツールを利用されている方の環境に依存してしまっている状況です…。そこで今回「Google Analytics Reporting API」を使って改修してみることにしました。
PHPでデータを取得して、レポートを作成できるようにしようと思っています。そうすれば、誰でも作業できる状況になりますし、アナリティクスのデータをダウンロードする手間も省けます。
ということで、それに際して「Google Analytics Reporting API」が使えるようになるまで(PHPでデータが読み込めるまで)をメモしておきたいと思います。
スポンサーリンク1.Googleにログイン
googleにログインします。
2.「Google Cloud Platform」を開いて、プロジェクトの選択を開く
ログインしたら、「Google Cloud Platform」のダッシュボードを開きます。
そして、ページ上部の「Google Cloud Platform」と検索窓の間をクリックします(※1つもプロジェクトが無い場合は、「プロジェクトの選択」と書かれているかと思います)。
3.新しいプロジェクト
ポップアップ画面が開くので、「新しいプロジェクト」をクリックします。
プロジェクト名を入れて、「作成」をクリックします。
これで新しいプロジェクトが作成できました。
下記のところに作成したプロジェクト名が表示されていればOKです。
4.「Google Analytics Reporting API」を探す
ページ上部の検索窓に「Google Analytics Reporting API」と入力すると、該当するAPIが表示されるのでクリックします。
5.APIを有効にする
「有効にする」をクリックして、「Google Analytics Reporting API」を有効にします。
6.認証情報>サービスアカウント作成
下記画面が開かれたら「認証情報」をクリックします。
下記画面が開かれたら「認証情報を作成」をクリックし、「サービスアカウント」をクリックします。
下記画面が開かれたら「サービスアカウント名」「サービスアカウントID」を入力し「作成して続行」をクリックします。
次に「ロールを選択」で「閲覧者」を選択し、③の「完了」をクリックします。
サービスアカウントが作成できると、一覧に表示されるので、「メールアドレス」をコピーして置いておきます。※後で使用します
7.秘密鍵を作る
「6.認証情報>サービスアカウント作成」で作成した「サービスアカウント」をクリックします。
下記画面が開かれたら「キー」をクリックします。
下記画面が開かれたら「鍵を追加」をクリックします。
「新しい下記を作成」をクリックします。
下記画面が開かれたら「JSON」を選択し、「作成」をクリックします。
下記画面が開かれたら「ファイルを保存する」を選択し、「OK」をクリックします。(※ブラウザによって多少異なりますが、ファイルを保存できればOKです)
下記画面が開かれたら「閉じる」をクリックしたら秘密鍵の作成完了です。
8.秘密鍵ファイルをAPIを使いたいサーバにアップ
「7.秘密鍵を作る」で取得した秘密鍵のファイルを(何となく)リネイムして、このAPIを使うサーバにアップロードしました。(※僕の場合はベーシック認証を掛けているので、PHPファイルと同じ階層に入れました)
ちなみに、ファイル数が多いのでアップロードに時間が掛かります。
9.アナリティクスにユーザーを追加
アナリティクスを開きます。情報を取得したいビューを選択してください。
そうしたら、「管理」をクリックします。
「アカウントのアクセス管理」をクリックします。
右上の「+」をクリックします。
右上の「ユーザーを追加」をクリックします。
先ほど「6.認証情報>サービスアカウント作成」でコピーしておいた「メールアドレス」を入力し、「アナリスト」を選択し、「追加」をクリックします。
これで、ユーザー追加は完了です。
10.ビューIDの確認
引き続きアナリティクスの「管理」から、次は「ビューの設定」をクリックします。
「ビューID」をコピーしてメモしておきます。※後で使用します
11.ライブラリを取得
下記ページにアクセスします。
https://github.com/googleapis/google-api-php-client/releases
APIを使う環境のzipファイルをダウンロードし、解凍します。そして、それをそのまま、APIを使用するphpファイルと同じ階層にアップロードします。
これで一通り準備は整いました。
12.phpについて
今回取得した情報を実際に使う箇所をピックアップして書いています。
その他の処理に関しては、これからレポートづくりを進める上で勉強して、それをまとめられそうであれば、別途記事にしたいと思いますm(__)m
ライブラリを使う箇所
「APIを使うphpファイル」の最初で、「11.ライブラリを取得」で取得したライブラリを読み込みます。
<?php // Google API クライアントライブラリの読み込み require_once __DIR__ .'/google-api-php-client--PHP7.4/vendor/autoload.php'; ?>
鍵ファイルを使う箇所
認証処理で鍵ファイルを指定します。
// 認証処理 $client = new Google_Client(); $client->setAuthConfig(__DIR_.’/sample.json’);
ビューIDを使う箇所
リクエストを作成する際にビューIDを指定します。
// リクエストの作成 $request = new Google_Service_AnalyticsReporting_ReportRequest(); $request->setViewId('00000000');
アナリティクスのデータを取得できました
一応データの取得には成功しました。ご報告までに。
まとめ
意外とここまででも時間がそれなりに掛かってしまいました。初めてでしたので当たり前ですが、1か所少しだけハマった箇所がありました。
「9.アナリティクスにユーザーを追加」で「認証情報>サービスアカウント作成」で作成したサービスアカウントのメールアドレスを指定するとは思っておらず、関係ないメールアドレスを設定してしまい、下記のようなエラーになっていました。
User does not have sufficient permissions for this profile
引用:Google Analytics Reporting APIのエラー
ただ、エラー内容を読んでみると上記のように「ユーザーには権限がない」といった内容でしたので、アナリティクスに追加したアカウントが微妙なのかなーと思い、運よく解決できました…。
もし、同じようなエラーが出ている方は上記「9.アナリティクスにユーザーを追加」をチェックしてみてください!
それでは、最後までお読みいただきありがとうございました!
スポンサーリンク