/
QuickStartJsonCredentials.cs
95 lines (84 loc) · 3.71 KB
/
QuickStartJsonCredentials.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
// Copyright(c) 2020 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not
// use this file except in compliance with the License. You may obtain a copy of
// the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations under
// the License.
/* Google Analytics Data API sample quickstart application.
Before you start the application, please review the comments starting with
"TODO(developer)" and update the code to use correct values.
This application demonstrates the usage of the Analytics Data API using service
account credentials.
Usage:
cd analytics-data/QuickStartJsonCredentials
dotnet restore
dotnet run
*/
// [START analyticsdata_json_credentials_quickstart]
using Google.Analytics.Data.V1Beta;
using System;
namespace AnalyticsSamples
{
class QuickStartJsonCredentials
{
static void SampleRunReport(string propertyId="YOUR-GA4-PROPERTY-ID", string credentialsJsonPath="")
{
/**
* TODO(developer): Uncomment this variable and replace with your
* Google Analytics 4 property ID before running the sample.
*/
// propertyId = "YOUR-GA4-PROPERTY-ID";
// [START analyticsdata_json_credentials_initialize]
/**
* TODO(developer): Uncomment this variable and replace with a valid path to
* the credentials.json file for your service account downloaded from the
* Cloud Console.
* Otherwise, default service account credentials will be derived from
* the GOOGLE_APPLICATION_CREDENTIALS environment variable.
*/
// credentialsJsonPath = "/path/to/credentials.json";
// Explicitly use service account credentials by specifying
// the private key file.
BetaAnalyticsDataClient client = new BetaAnalyticsDataClientBuilder
{
CredentialsPath = credentialsJsonPath
}.Build();
// [END analyticsdata_json_credentials_initialize]
// [START analyticsdata_json_credentials_run_report]
// Initialize request argument(s)
RunReportRequest request = new RunReportRequest
{
Property = "property/" + propertyId,
Dimensions = { new Dimension{ Name="city"}, },
Metrics = { new Metric{ Name="activeUsers"}, },
DateRanges = { new DateRange{ StartDate="2020-03-31", EndDate="today"}, },
};
// Make the request
PagedEnumerable<RunReportResponse, DimensionHeader> response = client.RunReport(request);
// [END analyticsdata_json_credentials_run_report]
// [START analyticsdata_json_credentials_run_report_response]
Console.WriteLine("Report result:");
foreach(RunReportResponse page in response.AsRawResponses())
{
foreach(Row row in page.Rows)
{
Console.WriteLine("{0}, {1}", row.DimensionValues[0].Value, row.MetricValues[0].Value);
}
}
// [END analyticsdata_json_credentials_run_report_response]
}
static int Main(string[] args)
{
SampleRunReport();
return 0;
}
}
}
// [END analyticsdata_json_credentials_quickstart]