Google Analytics APIでPVランキングを作成したい。$analytics->reports->batchGet( $body );に不具合があるようなのだが何がNGかわからない

前提

PHP、Google Analytics APIでPVランキングを作成したいのです。
下記ページを参照に対応してみています。
https://blog.apar.jp/web/11573/

phpコードをサーバーに置き、アクセスしたところ実行されませんでした。
var_dumpを用いながらチェックしていると下記箇所で何も表示されなくなりました。
綴り間違いやアロー演算子がハイフンになっているなど基本的な事を確認したのですが、
どれも正しく原因が不明です。

php

$reports_obj = $analytics->reports->batchGet( $body );var_dump($reports_obj);

実現したいこと

下記コードを実行できる形にする

該当のソースコード

php

<?php// Google API クライアントライブラリの読込みrequire_once __DIR__ . '/google-api-php-client--PHP7.4/vendor/autoload.php';// 鍵ファイルのパス$key_file_location = __DIR__ . '/client_secret_xxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxx.apps.googleusercontent.com.json';// ビューID$view_id = 'XXXXXXXXXX';// 認証処理$client = new Google_Client();$client->setApplicationName('sample');$client->setAuthConfig( $key_file_location );$client->setScopes(['https://www.googleapis.com/auth/analytics.readonly']);$analytics = new Google_Service_AnalyticsReporting($client);//var_dump($analytics);//どうやらちゃんと何か取得出来ている// データを取得する期間$dateRange = new Google_Service_AnalyticsReporting_DateRange();$today = date("Y-m-d");$lastMonth = date("Y-m-d", strtotime("-1 month"));$dateRange->setStartDate( $today );$dateRange->setEndDate( $lastMonth );// 取得するメトリクスの指定// https://developers.google.com/analytics/devguides/reporting/core/dimsmets// PV$pageviews = new Google_Service_AnalyticsReporting_Metric();$pageviews->setExpression('ga:pageviews');// セッション$sessions = new Google_Service_AnalyticsReporting_Metric();$sessions->setExpression('ga:sessions');// ユーザー$users= new Google_Service_AnalyticsReporting_Metric();$users->setExpression('ga:users');// リクエストの作成$request = new Google_Service_AnalyticsReporting_ReportRequest();$request->setViewId($view_id);$request->setDateRanges($dateRange);$request->setMetrics(array($pageviews, $sessions, $users));//var_dump($request);//どうやらちゃんと何か取得出来ている// リクエスト実行$body = new Google_Service_AnalyticsReporting_GetReportsRequest();$body->setReportRequests(array($request));var_dump($body);//どうやらちゃんと何か取得出来ている$reports_obj = $analytics->reports->batchGet( $body );var_dump($reports_obj);//ここで何もひょうじされない// オブジェクトを配列変数に変換$reports_array = json_decode(json_encode($reports_obj), true);//var_dump($reports_array['reports'][0]['data']['totals'][0]); * Parses and prints the Analytics Reporting API V4 response. * 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($metrics); $j++) { $values = $metrics[$j]->getValues(); for ($k = 0; $k < count($values); $k++) { $entry = $metricHeaders[$k]; print($entry->getName() . ": " . $values[$k] . "\n"); } } } }}?>

試したこと

コード内にvar_dumpを埋め込み順を追って追跡中

補足情報(FW/ツールのバージョンなど)

PHP Version 7.4.28

コメントを投稿

0 コメント