LoginSignup
13
6

More than 5 years have passed since last update.

PHPを使って GoogleAnalytics にある特定ページの情報を受け取る

Posted at

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 );
    }

参考

  1. はじめてのアナリティクス Reporting API V4: サービス アカウント向け PHP クイックスタート
13
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
6