Google Universal Analytics はサービスを終了したため、現在はこの記事で紹介しているコードは動作しません。
新しい Google Analytics 4 (GA4) プロパティを利用する必要があります。
GA4プロパティからのデータ取得はこちらの記事を参照してください。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Google.Apis.AnalyticsReporting.v4;
using Google.Apis.AnalyticsReporting.v4.Data;
using Google.Apis.Auth.OAuth2;
using System.IO;
namespace GoogleAnalyticsPVGet
{
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();
}
private void Button1_Click(object sender, EventArgs e)
{
FileStream stream = new FileStream("ipentectest-0f26d0134ab7.json", FileMode.Open, FileAccess.Read);
GoogleCredential credential = GoogleCredential.FromStream(stream).CreateScoped(AnalyticsReportingService.Scope.AnalyticsReadonly);
AnalyticsReportingService.Initializer initializer = new AnalyticsReportingService.Initializer();
initializer.HttpClientInitializer = credential;
initializer.ApplicationName = "app";
AnalyticsReportingService service = new AnalyticsReportingService(initializer);
GetReportsRequest request = new GetReportsRequest();
ReportRequest report_request = new ReportRequest();
report_request.ViewId = "00000000";
report_request.Metrics = new[] { new Metric { Expression = "ga:pageviews" } };
report_request.Dimensions = new[] { new Dimension { Name = "ga:date" } };
report_request.DateRanges = new[] { new DateRange { StartDate = "2010-08-01", EndDate = "2010-08-14" } };
report_request.OrderBys = new[] { new OrderBy { FieldName = "ga:date", SortOrder = "DESCENDING" } };
request.ReportRequests = new[] { report_request };
ReportsResource.BatchGetRequest batchRequest = service.Reports.BatchGet(request);
GetReportsResponse response = batchRequest.Execute();
foreach (var x in response.Reports.First().Data.Rows)
{
textBox1.Text += string.Join(", ", x.Dimensions) + " " + string.Join(", ", x.Metrics.First().Values) + "\r\n";
}
}
}
}
FileStream stream = new FileStream("ipentectest-0f26d0134ab7.json", FileMode.Open, FileAccess.Read);
GoogleCredential credential = GoogleCredential.FromStream(stream).CreateScoped(AnalyticsReportingService.Scope.AnalyticsReadonly);
AnalyticsReportingService.Initializer initializer = new AnalyticsReportingService.Initializer();
initializer.HttpClientInitializer = credential;
initializer.ApplicationName = "app";
AnalyticsReportingService service = new AnalyticsReportingService(initializer);
GetReportsRequest request = new GetReportsRequest();
ReportRequest report_request = new ReportRequest();
report_request.ViewId = "00000000";
report_request.Metrics = new[] { new Metric { Expression = "ga:pageviews" } };
report_request.Dimensions = new[] { new Dimension { Name = "ga:date" } };
report_request.DateRanges = new[] { new DateRange { StartDate = "2010-08-01", EndDate = "2010-08-14" } };
report_request.OrderBys = new[] { new OrderBy { FieldName = "ga:date", SortOrder = "DESCENDING" } };
request.ReportRequests = new[] { report_request };
ReportsResource.BatchGetRequest batchRequest = service.Reports.BatchGet(request);
GetReportsResponse response = batchRequest.Execute();
foreach (var x in response.Reports.First().Data.Rows)
{
textBox1.Text += string.Join(", ", x.Dimensions) + " " + string.Join(", ", x.Metrics.First().Values) + "\r\n";
}