分析

Googleアナリティクス Reporting API を使用したコーディング

Googleアナリティクス Reporting APIを使ってみました、第2回です。

前回は、使用する準備段階の設定方法について書きました。

今回は第2回として、コーディングについて書きたいと思います。
試した言語はASP.NET Core でC#です。

公式ドキュメントにはWebアプリケーションの場合、PHPのサンプルが記載されていますので参考にどうぞ。 https://developers.google.com/analytics/devguides/reporting/core/v4/?hl=ja#next_steps

ライブラリをインストール

Visual Studio にて、NuGetパッケージ管理から「Google.Apis.AnalyticsReporting.v4」をインストールします。

インストールが完了したらダウンロードしておいた認証情報のJSONファイルをプロジェクト直下に配置します。

コーディング

URL毎のページビュー数を取得するコードは以下の通りです。

public void Hoge()
{
    var credential = GetCredential();
    var service = new AnalyticsReportingService(new BaseClientService.Initializer()
    {
        HttpClientInitializer = credential,
        ApplicationName = "app",
    });

    // URL毎のページビュー数を取得する
    var request = new GetReportsRequest
    {
        ReportRequests = new[] {
            new ReportRequest
            {
                ViewId = "ビューのID",
                // 指標の指定
                Metrics = new[] { new Metric { Expression = "ga:pageviews" } },
                // ディメンションの指定
                Dimensions = new[] {
                    new Dimension { Name = "ga:pagePath" }
                },
                // 一週間分のデータを取得
                DateRanges = new[] {
                    new DateRange { StartDate = "7DaysAgo", EndDate = "today" }
                },
                // ページビュー数の降順でソート
                OrderBys = new [] {
                    new OrderBy { FieldName = "ga:pageviews", SortOrder = "DESCENDING" }
                }
            }
        }
    };
    var batchRequest = service.Reports.BatchGet(request);
    var response = batchRequest.Execute();

    foreach (var x in response.Reports.First().Data.Rows)
    {
        Console.WriteLine(string.Join(", ", x.Dimensions) + " " + string.Join(", ", x.Metrics.First().Values));
    }
}

private GoogleCredential GetCredential()
{
    // jsonファイルを元に認証
    using (var stream = new FileStream("JSONファイル名", FileMode.Open, FileAccess.Read))
    {
        return GoogleCredential.FromStream(stream).CreateScoped(
            AnalyticsReportingService.Scope.AnalyticsReadonly);
    }
}

ポイント

以下がポイントです。

  • 46行目:認証情報のJSONファイルを指定する
  • 16行目:ビューのIDを指定する
  • 18行目、21行目:指標とディメンションを指定する
  • 25行目:対象期間を指定する

どういった値を指定できるかは、以下の公式ドキュメントを参考にしてください。(英語)
https://developers.google.com/analytics/devguides/reporting/core/dimsmets

日本語のサンプルがあるので、こっちのほうが分かりやすいです。 https://developers.google.com/analytics/devguides/reporting/core/v4/samples?hl=ja

期間は以下の形式で指定します。

  • 2019-01-01形式
  • today
  • yesterday
  • NdaysAgo ⇒ 例:7daysAgo(7日前)

以上で、データが取得できましたので、有効活用していきましょう。

 

▼ 業務効率化代行サービス「カワリニ」
「業務効率化って簡単に言うけど、なかなか実現できない。」
そんな状況にいるのなら、お気軽にご相談ください。あなたの代わりに、業務効率化を担当します。

業務効率化代行サービス「カワリニ」のバナー3

 

関連記事一覧

  • コメント ( 0 )

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。