記事データを取得したのでこれをもとに
Google Analytics APIを使用して取得します
ただ接続するLibraryが変わったみたいなので
hello world的なところから始めました
google developer consoleの設定
まずはgoogle developer console(https://console.developers.google.com/?hl=JA)に接続する
やった事ない人はプロジェクトの作成をおこなう
プロジェクト作成後にapiの検索するところで「ana」と入力する
すると下記がリストが表示されるのでそちらを有効にする
・Analytics API
・Google Analytics Reporting API
この API は有効になっていますが、認証情報を作成するまでプロジェクトで使用することはできません。 [認証情報に進む] をクリックして、今すぐ作成してください(強く推奨)。
とアラート表示される
認証情報に進むのリンクを押す
プロジェクトへの認証情報の追加の画面が表示されるので
サービスアカウントをクリックする
サービスアカウント作成のリンクを押す
サービスアカウント名を入力して
役割をプロジェクトの観覧者を選択する
新しい秘密鍵の提供を選択し、キータイプをJSON形式にする
作成ボタンを押すとjsonファイルの保存画面が表示される
GoogleAnalyticsに設定とVIEW_ID確認
サービスアカウントをGoogleAnalytics に登録する
GoogleAnalyticsにログイン
ー> 1・管理
ー> 2・アカウント
ー> 3・ユーザー管理
ー> 4・権限を付与するユーザー
先ほど作成したユーザーをいれる
(もしわからない場合はjsonファイルに記載されているclient_emailの部分)
ー> 5・権限(初期設定でなしの部分)を表示と分析を選択する
表示したいGoogleAnalyticsのVIEW_IDを取得する
GoogleAnalyticsにログイン
ー> 1・管理
ー> 2・ビュー
ー> 3・ビュー設定
基本設定のビューIDをメモする
クライアントライブラリをインストールする
やり方は何個かあります
git clone -b v1-master https://github.com/google/google-api-php-client.git
or
wget https://github.com/google/google-api-php-client/archive/master.zip
or
php -r "readfile('https://getcomposer.org/installer');" | php mv composer.phar /usr/local/bin/composer composer require google/apiclient:^2.0
自分はcomposerで入れました
あとはプログラムを設置する
<!--?php // インストールしたライブラリーを読み込ませる Load the Google API PHP Client Library. require_once __DIR__ . '/vendor/autoload.php'; $analytics = initializeAnalytics(); $response = getReport($analytics); printResults($response); function initializeAnalytics() { $KEY_FILE_LOCATION = __DIR__ . '/jsondata/blogtest-7cca6f19cd2e.json'; //接続用のクライアントの設定. $client = new Google_Client(); $client--->setApplicationName("Hello Analytics Reporting"); $client->setAuthConfig($KEY_FILE_LOCATION); //アクセスするapiのスコープを設定する //わからない場合はhttps://developers.google.com/identity/protocols/googlescopes?hl=jaを参考にする $client->setScopes(['https://www.googleapis.com/auth/analytics.readonly']); $analytics = new Google_Service_AnalyticsReporting($client); return $analytics; } function getReport($analytics) { // Replace with your view ID, for example XXXX. $VIEW_ID = "62906603"; // Create the DateRange object. $dateRange = new Google_Service_AnalyticsReporting_DateRange(); //$dateRange->setStartDate("7daysAgo"); //$dateRange->setEndDate("today"); //日付指定もできる $dateRange->setStartDate("2016-09-27"); $dateRange->setEndDate("2016-10-27"); // 取得したい内容をセットする.今回はセッションを設定する //わからない場合はhttps://developers.google.com/analytics/devguides/reporting/core/dimsmetsを参考にする $sessions = new Google_Service_AnalyticsReporting_Metric(); $sessions->setExpression("ga:sessions"); $sessions->setAlias("sessions"); // リクエストするために情報をまとめるCreate the ReportRequest object. $request = new Google_Service_AnalyticsReporting_ReportRequest(); $request->setViewId($VIEW_ID); $request->setDateRanges($dateRange); $request->setMetrics(array($sessions)); // リクエストする $body = new Google_Service_AnalyticsReporting_GetReportsRequest(); $body->setReportRequests( array( $request) ); return $analytics->reports->batchGet( $body ); } function printResults($reports) { for ( $reportIndex = 0; $reportIndex < count( $reports ); $reportIndex++ ) { $report = $reports[ $reportIndex ]; $header = $report->getColumnHeader(); $dimensionHeaders = $header->getDimensions(); $metricHeaders = $header->getMetricHeader()->getMetricHeaderEntries(); $rows = $report->getData()->getRows(); for ( $rowIndex = 0; $rowIndex < count($rows); $rowIndex++) { $row = $rows[ $rowIndex ]; $dimensions = $row->getDimensions(); $metrics = $row->getMetrics(); for ($i = 0; $i < count($dimensionHeaders) && $i < count($dimensions); $i++) { print($dimensionHeaders[$i] . ": " . $dimensions[$i] . "\n"); } for ($j = 0; $j < count( $metricHeaders ) && $j < count( $metrics ); $j++) { $entry = $metricHeaders[$j]; $values = $metrics[$j]; print("Metric type: " . $entry->getType() . "\n" ); for ( $valueIndex = 0; $valueIndex < count( $values->getValues() ); $valueIndex++ ) { $value = $values->getValues()[ $valueIndex ]; print($entry->getName() . ": " . $value . "\n"); } } } } }
documentrootの配下は以下のとおり
はまったところ
公式のサンプルソースがうごかなかった
バージョンしたみたいなのですが
サンプルソースに反映してくれていないみたい
公式のサンプルソースだと
$cred = new Google_Auth_AssertionCredentials( $service_account_email, array(Google_Service_Analytics::ANALYTICS_READONLY), $key );
Class 'Google_Auth_AssertionCredentials' not found
とエラーになる
おいいい!!!!
色々、検索してみたところgithubに記載されていた・・・
見てねぇーーー
https://github.com/google/google-api-php-client/blob/master/UPGRADING.md#google_auth_assertioncredentials-has-been-removed
結果
セッション数がとれました
今後
条件や取得内容などを追加する予定
参考url
http://www.tam-tam.co.jp/tipsnote/program/post9065.html
このソースがうごかなかった
composerのインストール
http://qiita.com/CatCable/items/02364adacf36410f449e