FuelPHPでGoogleAnalyticsのAPIを使ってみたのでメモ。
まずはGoogleAnalyticsのAPIを使えるようにしてください。
詳しくはここを参考にしてください。
参考サイトのステップ 1: アナリティクス API を有効にする まで完了すればOKです。
※p12ファイルはAPPPATH.’p12/xxxxxxx.p12’に保存しておいてください。
※新しく作成したサービス アカウントのメールアドレスを控えておいてください。
ざっくり説明していきます。
まずはGoogleAnalyticsクラスを利用するための準備をします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// タイムアウトを3分に延長 set_time_limit(180); // Googleのパッケージを利用可能にします。 Package::load('gdata'); // シングルトンでオブジェクトを管理。ここでGoogleAnalyticsのクラスをインスタンス化 if (is_null(static::$gdata_analytics)) { static::$gdata_analytics = Gdata::forge( 'Analytics', $instance_name = 'default', $config = array() ); } |
次にサービスを利用してGoogleAnalyticsのAPIを投げます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
// p12ファイルを取得 $private_key = @file_get_contents(APPPATH.'p12/xxxxxxx.p12'); // 前日分を取得したいので前日の日付を $yesterday = date("Y-m-d",strtotime("-1 day")); // 解析のメトリクスをページビューに設定 $metrics = "ga:pageviews"; // 解析結果取得のオプション $options = array( 'dimensions'=>'ga:pageTitle, ga:pagePath', 'metrics'=>'ga:pageviews', 'sort'=>'-ga:pageviews', 'max-results'=>10 ); static::$gdata_analytics->client->setAssertionCredentials( new Google_Auth_AssertionCredentials( '新しく作成したサービス アカウントのメールアドレス', array('https://www.googleapis.com/auth/analytics.readonly'), $private_key ) ); // Google_Service_Analyticsを作成する $analytics = new Google_Service_Analytics(static::$gdata_analytics->client); // APIを投げる // ビュー IDはGoogleAnalyticsのビュー設定で確認できます。 $obj = $analytics->data_ga->get('ga:ビュー ID',$yesterday, $yesterday, $metrics, $options); |
以上で前日のPV数が取得できるようになります。
ちなみに結果はこんな感じで出力されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
( [0] => Array ( [0] => 【シェルスクリプト】備忘録 No.1 | プログラマのめもぶろぐ [1] => /2015/08/07/379/ [2] => 26 ) [1] => Array ( [0] => JQueryのDatePickerに時間をつけたい | プログラマのめもぶろぐ [1] => /2015/01/16/jqueryのdatepickerに時間をつけたい/ [2] => 20 ) [2] => Array ( [0] => BigNumber.jsの使い方メモ | プログラマのめもぶろぐ [1] => /2015/09/04/402/ [2] => 10 ) [3] => Array ( [0] => Google Developers ConsoleでGitを使う | プログラマのめもぶろぐ [1] => /2015/09/17/415/ [2] => 6 ) [4] => Array ( [0] => FuelPHPのModel_Crud+Postgresql でLastInsertIDを取得 | プログラマのめもぶろぐ [1] => /2015/09/30/【fuelphp】model_crud+postgresql-でlastinsertidを取得/ [2] => 4 ) [5] => Array ( [0] => FuelPHPのTasksクラスでログの出力先を変更 | プログラマのめもぶろぐ [1] => /2015/08/07/381/ [2] => 4 ) [6] => Array ( [0] => FuelPHPのTasksクラスでログの出力先を変更 | プログラマのめもぶろぐ [1] => /2015/08/28/398/ [2] => 4 ) [7] => Array ( [0] => 【FuelPHP】Google Drive APIを使いたい その1 | プログラマのめもぶろぐ [1] => /2015/05/20/319/ [2] => 4 ) [8] => Array ( [0] => 【FuelPHP】security.output_filterのエラー | プログラマのめもぶろぐ [1] => /2015/05/11/291/ [2] => 4 ) [9] => Array ( [0] => 【FulePHP】ajaxでvalidationを実行 | プログラマのめもぶろぐ [1] => /2015/04/14/251/ [2] => 4 ) ) |
Comments are closed