
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日前)
以上で、データが取得できましたので、有効活用していきましょう。
▼ 業務効率化代行サービス「カワリニ」
「業務効率化って簡単に言うけど、なかなか実現できない。」
そんな状況にいるのなら、お気軽にご相談ください。あなたの代わりに、業務効率化を担当します。
IT全般はお任せ。
プログラミングメインに活動中。
Java、PHP、C#、SQL、HTML、CSSやWordPressなどプログラミングから、情シスなど奮闘中。
最近の趣味はGAS。
競馬が好き。そしてスポーツ、読書、食べること、スイーツ好き。
好きなことでサービスやアプリを作りたい。
コメント ( 0 )
トラックバックは利用できません。
この記事へのコメントはありません。