V4 の話です。V3以前の事は知らない。
V4 はすべて batchGet を経由して取得をするみたい。
細かくは後で書く。
インストールとか
はじめてのアナリティクス Reporting API V4: サービス アカウント向け PHP クイックスタート で、実行できるところまでできます。
特定ページの検索
filters
を使います。
こんな感じでとってこれる。
<?php
public function getPageViewsFromGoogleAnalytics(Carbon $date, $VIEW_ID, $path)
{
// Create the DateRange object.
$dateRange = new \Google_Service_AnalyticsReporting_DateRange();
$dateRange->setStartDate( $date->format( 'Y-m-d' ) );
$dateRange->setEndDate( $date->format( 'Y-m-d' ) );
// Create the Metrics object.
$sessions = new \Google_Service_AnalyticsReporting_Metric();
$sessions->setExpression( "ga:pageviews" );
$dimention = new \Google_Service_AnalyticsReporting_Dimension();
$dimention->setName( 'ga:pagePath' );
$filter = new \Google_Service_AnalyticsReporting_DimensionFilter();
$filter->setDimensionName( 'ga:pagePath' );
$filter->setOperator( 'REGEXP' );
$filter->setExpressions( [ '^'. $path .'$' ] );
$filters = new \Google_Service_AnalyticsReporting_DimensionFilterClause();
$filters->setFilters([$filter]);
// Create the ReportRequest object.
$request = new \Google_Service_AnalyticsReporting_ReportRequest();
$request->setViewId( $VIEW_ID );
$request->setDateRanges( $dateRange );
$request->setMetrics( array( $sessions ) );
$request->setDimensions( [ $dimention ] );
$request->setDimensionFilterClauses( $filters );
$body = new \Google_Service_AnalyticsReporting_GetReportsRequest();
$body->setReportRequests( array( $request ) );
return $this->gcp_analytics->reports->batchGet( $body );
}