// Copyright 2024 Google LLC
//
// 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
//
// https://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.
// Generated code. DO NOT EDIT!
namespace Google.Apis.AnalyticsData.v1beta
{
/// The AnalyticsData Service.
public class AnalyticsDataService : Google.Apis.Services.BaseClientService
{
/// The API version.
public const string Version = "v1beta";
/// The discovery version used to generate this service.
public static Google.Apis.Discovery.DiscoveryVersion DiscoveryVersionUsed = Google.Apis.Discovery.DiscoveryVersion.Version_1_0;
/// Constructs a new service.
public AnalyticsDataService() : this(new Google.Apis.Services.BaseClientService.Initializer())
{
}
/// Constructs a new service.
/// The service initializer.
public AnalyticsDataService(Google.Apis.Services.BaseClientService.Initializer initializer) : base(initializer)
{
Properties = new PropertiesResource(this);
BaseUri = GetEffectiveUri(BaseUriOverride, "https://analyticsdata.googleapis.com/");
BatchUri = GetEffectiveUri(null, "https://analyticsdata.googleapis.com/batch");
}
/// Gets the service supported features.
public override System.Collections.Generic.IList Features => new string[0];
/// Gets the service name.
public override string Name => "analyticsdata";
/// Gets the service base URI.
public override string BaseUri { get; }
/// Gets the service base path.
public override string BasePath => "";
/// Gets the batch base URI; null if unspecified.
public override string BatchUri { get; }
/// Gets the batch base path; null if unspecified.
public override string BatchPath => "batch";
/// Available OAuth 2.0 scopes for use with the Google Analytics Data API.
public class Scope
{
/// View and manage your Google Analytics data
public static string Analytics = "https://www.googleapis.com/auth/analytics";
/// See and download your Google Analytics data
public static string AnalyticsReadonly = "https://www.googleapis.com/auth/analytics.readonly";
}
/// Available OAuth 2.0 scope constants for use with the Google Analytics Data API.
public static class ScopeConstants
{
/// View and manage your Google Analytics data
public const string Analytics = "https://www.googleapis.com/auth/analytics";
/// See and download your Google Analytics data
public const string AnalyticsReadonly = "https://www.googleapis.com/auth/analytics.readonly";
}
/// Gets the Properties resource.
public virtual PropertiesResource Properties { get; }
}
/// A base abstract class for AnalyticsData requests.
public abstract class AnalyticsDataBaseServiceRequest : Google.Apis.Requests.ClientServiceRequest
{
/// Constructs a new AnalyticsDataBaseServiceRequest instance.
protected AnalyticsDataBaseServiceRequest(Google.Apis.Services.IClientService service) : base(service)
{
}
/// V1 error format.
[Google.Apis.Util.RequestParameterAttribute("$.xgafv", Google.Apis.Util.RequestParameterType.Query)]
public virtual System.Nullable Xgafv { get; set; }
/// V1 error format.
public enum XgafvEnum
{
/// v1 error format
[Google.Apis.Util.StringValueAttribute("1")]
Value1 = 0,
/// v2 error format
[Google.Apis.Util.StringValueAttribute("2")]
Value2 = 1,
}
/// OAuth access token.
[Google.Apis.Util.RequestParameterAttribute("access_token", Google.Apis.Util.RequestParameterType.Query)]
public virtual string AccessToken { get; set; }
/// Data format for response.
[Google.Apis.Util.RequestParameterAttribute("alt", Google.Apis.Util.RequestParameterType.Query)]
public virtual System.Nullable Alt { get; set; }
/// Data format for response.
public enum AltEnum
{
/// Responses with Content-Type of application/json
[Google.Apis.Util.StringValueAttribute("json")]
Json = 0,
/// Media download with context-dependent Content-Type
[Google.Apis.Util.StringValueAttribute("media")]
Media = 1,
/// Responses with Content-Type of application/x-protobuf
[Google.Apis.Util.StringValueAttribute("proto")]
Proto = 2,
}
/// JSONP
[Google.Apis.Util.RequestParameterAttribute("callback", Google.Apis.Util.RequestParameterType.Query)]
public virtual string Callback { get; set; }
/// Selector specifying which fields to include in a partial response.
[Google.Apis.Util.RequestParameterAttribute("fields", Google.Apis.Util.RequestParameterType.Query)]
public virtual string Fields { get; set; }
///
/// API key. Your API key identifies your project and provides you with API access, quota, and reports. Required
/// unless you provide an OAuth 2.0 token.
///
[Google.Apis.Util.RequestParameterAttribute("key", Google.Apis.Util.RequestParameterType.Query)]
public virtual string Key { get; set; }
/// OAuth 2.0 token for the current user.
[Google.Apis.Util.RequestParameterAttribute("oauth_token", Google.Apis.Util.RequestParameterType.Query)]
public virtual string OauthToken { get; set; }
/// Returns response with indentations and line breaks.
[Google.Apis.Util.RequestParameterAttribute("prettyPrint", Google.Apis.Util.RequestParameterType.Query)]
public virtual System.Nullable PrettyPrint { get; set; }
///
/// Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a
/// user, but should not exceed 40 characters.
///
[Google.Apis.Util.RequestParameterAttribute("quotaUser", Google.Apis.Util.RequestParameterType.Query)]
public virtual string QuotaUser { get; set; }
/// Legacy upload protocol for media (e.g. "media", "multipart").
[Google.Apis.Util.RequestParameterAttribute("uploadType", Google.Apis.Util.RequestParameterType.Query)]
public virtual string UploadType { get; set; }
/// Upload protocol for media (e.g. "raw", "multipart").
[Google.Apis.Util.RequestParameterAttribute("upload_protocol", Google.Apis.Util.RequestParameterType.Query)]
public virtual string UploadProtocol { get; set; }
/// Initializes AnalyticsData parameter list.
protected override void InitParameters()
{
base.InitParameters();
RequestParameters.Add("$.xgafv", new Google.Apis.Discovery.Parameter
{
Name = "$.xgafv",
IsRequired = false,
ParameterType = "query",
DefaultValue = null,
Pattern = null,
});
RequestParameters.Add("access_token", new Google.Apis.Discovery.Parameter
{
Name = "access_token",
IsRequired = false,
ParameterType = "query",
DefaultValue = null,
Pattern = null,
});
RequestParameters.Add("alt", new Google.Apis.Discovery.Parameter
{
Name = "alt",
IsRequired = false,
ParameterType = "query",
DefaultValue = "json",
Pattern = null,
});
RequestParameters.Add("callback", new Google.Apis.Discovery.Parameter
{
Name = "callback",
IsRequired = false,
ParameterType = "query",
DefaultValue = null,
Pattern = null,
});
RequestParameters.Add("fields", new Google.Apis.Discovery.Parameter
{
Name = "fields",
IsRequired = false,
ParameterType = "query",
DefaultValue = null,
Pattern = null,
});
RequestParameters.Add("key", new Google.Apis.Discovery.Parameter
{
Name = "key",
IsRequired = false,
ParameterType = "query",
DefaultValue = null,
Pattern = null,
});
RequestParameters.Add("oauth_token", new Google.Apis.Discovery.Parameter
{
Name = "oauth_token",
IsRequired = false,
ParameterType = "query",
DefaultValue = null,
Pattern = null,
});
RequestParameters.Add("prettyPrint", new Google.Apis.Discovery.Parameter
{
Name = "prettyPrint",
IsRequired = false,
ParameterType = "query",
DefaultValue = "true",
Pattern = null,
});
RequestParameters.Add("quotaUser", new Google.Apis.Discovery.Parameter
{
Name = "quotaUser",
IsRequired = false,
ParameterType = "query",
DefaultValue = null,
Pattern = null,
});
RequestParameters.Add("uploadType", new Google.Apis.Discovery.Parameter
{
Name = "uploadType",
IsRequired = false,
ParameterType = "query",
DefaultValue = null,
Pattern = null,
});
RequestParameters.Add("upload_protocol", new Google.Apis.Discovery.Parameter
{
Name = "upload_protocol",
IsRequired = false,
ParameterType = "query",
DefaultValue = null,
Pattern = null,
});
}
}
/// The "properties" collection of methods.
public class PropertiesResource
{
private const string Resource = "properties";
/// The service which this resource belongs to.
private readonly Google.Apis.Services.IClientService service;
/// Constructs a new resource.
public PropertiesResource(Google.Apis.Services.IClientService service)
{
this.service = service;
AudienceExports = new AudienceExportsResource(service);
}
/// Gets the AudienceExports resource.
public virtual AudienceExportsResource AudienceExports { get; }
/// The "audienceExports" collection of methods.
public class AudienceExportsResource
{
private const string Resource = "audienceExports";
/// The service which this resource belongs to.
private readonly Google.Apis.Services.IClientService service;
/// Constructs a new resource.
public AudienceExportsResource(Google.Apis.Services.IClientService service)
{
this.service = service;
}
///
/// Creates an audience export for later retrieval. This method quickly returns the audience export's
/// resource name and initiates a long running asynchronous request to form an audience export. To export
/// the users in an audience export, first create the audience export through this method and then send the
/// audience resource name to the `QueryAudienceExport` method. See [Creating an Audience
/// Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an
/// introduction to Audience Exports with examples. An audience export is a snapshot of the users currently
/// in the audience at the time of audience export creation. Creating audience exports for one audience on
/// different days will return different results as users enter and exit the audience. Audiences in Google
/// Analytics 4 allow you to segment your users in the ways that are important to your business. To learn
/// more, see https://support.google.com/analytics/answer/9267572. Audience exports contain the users in
/// each audience. Audience Export APIs have some methods at alpha and other methods at beta stability. The
/// intention is to advance methods to beta stability after some feedback and adoption. To give your
/// feedback on this API, complete the [Google Analytics Audience Export API
/// Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
///
/// The body of the request.
///
/// Required. The parent resource where this audience export will be created. Format:
/// `properties/{property}`
///
public virtual CreateRequest Create(Google.Apis.AnalyticsData.v1beta.Data.AudienceExport body, string parent)
{
return new CreateRequest(this.service, body, parent);
}
///
/// Creates an audience export for later retrieval. This method quickly returns the audience export's
/// resource name and initiates a long running asynchronous request to form an audience export. To export
/// the users in an audience export, first create the audience export through this method and then send the
/// audience resource name to the `QueryAudienceExport` method. See [Creating an Audience
/// Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an
/// introduction to Audience Exports with examples. An audience export is a snapshot of the users currently
/// in the audience at the time of audience export creation. Creating audience exports for one audience on
/// different days will return different results as users enter and exit the audience. Audiences in Google
/// Analytics 4 allow you to segment your users in the ways that are important to your business. To learn
/// more, see https://support.google.com/analytics/answer/9267572. Audience exports contain the users in
/// each audience. Audience Export APIs have some methods at alpha and other methods at beta stability. The
/// intention is to advance methods to beta stability after some feedback and adoption. To give your
/// feedback on this API, complete the [Google Analytics Audience Export API
/// Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
///
public class CreateRequest : AnalyticsDataBaseServiceRequest
{
/// Constructs a new Create request.
public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.AnalyticsData.v1beta.Data.AudienceExport body, string parent) : base(service)
{
Parent = parent;
Body = body;
InitParameters();
}
///
/// Required. The parent resource where this audience export will be created. Format:
/// `properties/{property}`
///
[Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)]
public virtual string Parent { get; private set; }
/// Gets or sets the body of this request.
Google.Apis.AnalyticsData.v1beta.Data.AudienceExport Body { get; set; }
/// Returns the body of the request.
protected override object GetBody() => Body;
/// Gets the method name.
public override string MethodName => "create";
/// Gets the HTTP method.
public override string HttpMethod => "POST";
/// Gets the REST path.
public override string RestPath => "v1beta/{+parent}/audienceExports";
/// Initializes Create parameter list.
protected override void InitParameters()
{
base.InitParameters();
RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter
{
Name = "parent",
IsRequired = true,
ParameterType = "path",
DefaultValue = null,
Pattern = @"^properties/[^/]+$",
});
}
}
///
/// Gets configuration metadata about a specific audience export. This method can be used to understand an
/// audience export after it has been created. See [Creating an Audience
/// Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an
/// introduction to Audience Exports with examples. Audience Export APIs have some methods at alpha and
/// other methods at beta stability. The intention is to advance methods to beta stability after some
/// feedback and adoption. To give your feedback on this API, complete the [Google Analytics Audience Export
/// API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
///
///
/// Required. The audience export resource name. Format:
/// `properties/{property}/audienceExports/{audience_export}`
///
public virtual GetRequest Get(string name)
{
return new GetRequest(this.service, name);
}
///
/// Gets configuration metadata about a specific audience export. This method can be used to understand an
/// audience export after it has been created. See [Creating an Audience
/// Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an
/// introduction to Audience Exports with examples. Audience Export APIs have some methods at alpha and
/// other methods at beta stability. The intention is to advance methods to beta stability after some
/// feedback and adoption. To give your feedback on this API, complete the [Google Analytics Audience Export
/// API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
///
public class GetRequest : AnalyticsDataBaseServiceRequest
{
/// Constructs a new Get request.
public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service)
{
Name = name;
InitParameters();
}
///
/// Required. The audience export resource name. Format:
/// `properties/{property}/audienceExports/{audience_export}`
///
[Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)]
public virtual string Name { get; private set; }
/// Gets the method name.
public override string MethodName => "get";
/// Gets the HTTP method.
public override string HttpMethod => "GET";
/// Gets the REST path.
public override string RestPath => "v1beta/{+name}";
/// Initializes Get parameter list.
protected override void InitParameters()
{
base.InitParameters();
RequestParameters.Add("name", new Google.Apis.Discovery.Parameter
{
Name = "name",
IsRequired = true,
ParameterType = "path",
DefaultValue = null,
Pattern = @"^properties/[^/]+/audienceExports/[^/]+$",
});
}
}
///
/// Lists all audience exports for a property. This method can be used for you to find and reuse existing
/// audience exports rather than creating unnecessary new audience exports. The same audience can have
/// multiple audience exports that represent the export of users that were in an audience on different days.
/// See [Creating an Audience
/// Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an
/// introduction to Audience Exports with examples. Audience Export APIs have some methods at alpha and
/// other methods at beta stability. The intention is to advance methods to beta stability after some
/// feedback and adoption. To give your feedback on this API, complete the [Google Analytics Audience Export
/// API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
///
///
/// Required. All audience exports for this property will be listed in the response. Format:
/// `properties/{property}`
///
public virtual ListRequest List(string parent)
{
return new ListRequest(this.service, parent);
}
///
/// Lists all audience exports for a property. This method can be used for you to find and reuse existing
/// audience exports rather than creating unnecessary new audience exports. The same audience can have
/// multiple audience exports that represent the export of users that were in an audience on different days.
/// See [Creating an Audience
/// Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an
/// introduction to Audience Exports with examples. Audience Export APIs have some methods at alpha and
/// other methods at beta stability. The intention is to advance methods to beta stability after some
/// feedback and adoption. To give your feedback on this API, complete the [Google Analytics Audience Export
/// API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
///
public class ListRequest : AnalyticsDataBaseServiceRequest
{
/// Constructs a new List request.
public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service)
{
Parent = parent;
InitParameters();
}
///
/// Required. All audience exports for this property will be listed in the response. Format:
/// `properties/{property}`
///
[Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)]
public virtual string Parent { get; private set; }
///
/// Optional. The maximum number of audience exports to return. The service may return fewer than this
/// value. If unspecified, at most 200 audience exports will be returned. The maximum value is 1000
/// (higher values will be coerced to the maximum).
///
[Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)]
public virtual System.Nullable PageSize { get; set; }
///
/// Optional. A page token, received from a previous `ListAudienceExports` call. Provide this to
/// retrieve the subsequent page. When paginating, all other parameters provided to
/// `ListAudienceExports` must match the call that provided the page token.
///
[Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)]
public virtual string PageToken { get; set; }
/// Gets the method name.
public override string MethodName => "list";
/// Gets the HTTP method.
public override string HttpMethod => "GET";
/// Gets the REST path.
public override string RestPath => "v1beta/{+parent}/audienceExports";
/// Initializes List parameter list.
protected override void InitParameters()
{
base.InitParameters();
RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter
{
Name = "parent",
IsRequired = true,
ParameterType = "path",
DefaultValue = null,
Pattern = @"^properties/[^/]+$",
});
RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter
{
Name = "pageSize",
IsRequired = false,
ParameterType = "query",
DefaultValue = null,
Pattern = null,
});
RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter
{
Name = "pageToken",
IsRequired = false,
ParameterType = "query",
DefaultValue = null,
Pattern = null,
});
}
}
///
/// Retrieves an audience export of users. After creating an audience, the users are not immediately
/// available for exporting. First, a request to `CreateAudienceExport` is necessary to create an audience
/// export of users, and then second, this method is used to retrieve the users in the audience export. See
/// [Creating an Audience
/// Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an
/// introduction to Audience Exports with examples. Audiences in Google Analytics 4 allow you to segment
/// your users in the ways that are important to your business. To learn more, see
/// https://support.google.com/analytics/answer/9267572. Audience Export APIs have some methods at alpha and
/// other methods at beta stability. The intention is to advance methods to beta stability after some
/// feedback and adoption. To give your feedback on this API, complete the [Google Analytics Audience Export
/// API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
///
/// The body of the request.
///
/// Required. The name of the audience export to retrieve users from. Format:
/// `properties/{property}/audienceExports/{audience_export}`
///
public virtual QueryRequest Query(Google.Apis.AnalyticsData.v1beta.Data.QueryAudienceExportRequest body, string name)
{
return new QueryRequest(this.service, body, name);
}
///
/// Retrieves an audience export of users. After creating an audience, the users are not immediately
/// available for exporting. First, a request to `CreateAudienceExport` is necessary to create an audience
/// export of users, and then second, this method is used to retrieve the users in the audience export. See
/// [Creating an Audience
/// Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an
/// introduction to Audience Exports with examples. Audiences in Google Analytics 4 allow you to segment
/// your users in the ways that are important to your business. To learn more, see
/// https://support.google.com/analytics/answer/9267572. Audience Export APIs have some methods at alpha and
/// other methods at beta stability. The intention is to advance methods to beta stability after some
/// feedback and adoption. To give your feedback on this API, complete the [Google Analytics Audience Export
/// API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
///
public class QueryRequest : AnalyticsDataBaseServiceRequest
{
/// Constructs a new Query request.
public QueryRequest(Google.Apis.Services.IClientService service, Google.Apis.AnalyticsData.v1beta.Data.QueryAudienceExportRequest body, string name) : base(service)
{
Name = name;
Body = body;
InitParameters();
}
///
/// Required. The name of the audience export to retrieve users from. Format:
/// `properties/{property}/audienceExports/{audience_export}`
///
[Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)]
public virtual string Name { get; private set; }
/// Gets or sets the body of this request.
Google.Apis.AnalyticsData.v1beta.Data.QueryAudienceExportRequest Body { get; set; }
/// Returns the body of the request.
protected override object GetBody() => Body;
/// Gets the method name.
public override string MethodName => "query";
/// Gets the HTTP method.
public override string HttpMethod => "POST";
/// Gets the REST path.
public override string RestPath => "v1beta/{+name}:query";
/// Initializes Query parameter list.
protected override void InitParameters()
{
base.InitParameters();
RequestParameters.Add("name", new Google.Apis.Discovery.Parameter
{
Name = "name",
IsRequired = true,
ParameterType = "path",
DefaultValue = null,
Pattern = @"^properties/[^/]+/audienceExports/[^/]+$",
});
}
}
}
///
/// Returns multiple pivot reports in a batch. All reports must be for the same Google Analytics property.
///
/// The body of the request.
///
/// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body.
/// To learn more, see [where to find your Property
/// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). This property must be
/// specified for the batch. The property within RunPivotReportRequest may either be unspecified or consistent
/// with this property. Example: properties/1234
///
public virtual BatchRunPivotReportsRequest BatchRunPivotReports(Google.Apis.AnalyticsData.v1beta.Data.BatchRunPivotReportsRequest body, string property)
{
return new BatchRunPivotReportsRequest(this.service, body, property);
}
///
/// Returns multiple pivot reports in a batch. All reports must be for the same Google Analytics property.
///
public class BatchRunPivotReportsRequest : AnalyticsDataBaseServiceRequest
{
/// Constructs a new BatchRunPivotReports request.
public BatchRunPivotReportsRequest(Google.Apis.Services.IClientService service, Google.Apis.AnalyticsData.v1beta.Data.BatchRunPivotReportsRequest body, string property) : base(service)
{
Property = property;
Body = body;
InitParameters();
}
///
/// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the
/// body. To learn more, see [where to find your Property
/// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). This property must
/// be specified for the batch. The property within RunPivotReportRequest may either be unspecified or
/// consistent with this property. Example: properties/1234
///
[Google.Apis.Util.RequestParameterAttribute("property", Google.Apis.Util.RequestParameterType.Path)]
public virtual string Property { get; private set; }
/// Gets or sets the body of this request.
Google.Apis.AnalyticsData.v1beta.Data.BatchRunPivotReportsRequest Body { get; set; }
/// Returns the body of the request.
protected override object GetBody() => Body;
/// Gets the method name.
public override string MethodName => "batchRunPivotReports";
/// Gets the HTTP method.
public override string HttpMethod => "POST";
/// Gets the REST path.
public override string RestPath => "v1beta/{+property}:batchRunPivotReports";
/// Initializes BatchRunPivotReports parameter list.
protected override void InitParameters()
{
base.InitParameters();
RequestParameters.Add("property", new Google.Apis.Discovery.Parameter
{
Name = "property",
IsRequired = true,
ParameterType = "path",
DefaultValue = null,
Pattern = @"^properties/[^/]+$",
});
}
}
///
/// Returns multiple reports in a batch. All reports must be for the same Google Analytics property.
///
/// The body of the request.
///
/// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body.
/// To learn more, see [where to find your Property
/// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). This property must be
/// specified for the batch. The property within RunReportRequest may either be unspecified or consistent with
/// this property. Example: properties/1234
///
public virtual BatchRunReportsRequest BatchRunReports(Google.Apis.AnalyticsData.v1beta.Data.BatchRunReportsRequest body, string property)
{
return new BatchRunReportsRequest(this.service, body, property);
}
///
/// Returns multiple reports in a batch. All reports must be for the same Google Analytics property.
///
public class BatchRunReportsRequest : AnalyticsDataBaseServiceRequest
{
/// Constructs a new BatchRunReports request.
public BatchRunReportsRequest(Google.Apis.Services.IClientService service, Google.Apis.AnalyticsData.v1beta.Data.BatchRunReportsRequest body, string property) : base(service)
{
Property = property;
Body = body;
InitParameters();
}
///
/// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the
/// body. To learn more, see [where to find your Property
/// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). This property must
/// be specified for the batch. The property within RunReportRequest may either be unspecified or consistent
/// with this property. Example: properties/1234
///
[Google.Apis.Util.RequestParameterAttribute("property", Google.Apis.Util.RequestParameterType.Path)]
public virtual string Property { get; private set; }
/// Gets or sets the body of this request.
Google.Apis.AnalyticsData.v1beta.Data.BatchRunReportsRequest Body { get; set; }
/// Returns the body of the request.
protected override object GetBody() => Body;
/// Gets the method name.
public override string MethodName => "batchRunReports";
/// Gets the HTTP method.
public override string HttpMethod => "POST";
/// Gets the REST path.
public override string RestPath => "v1beta/{+property}:batchRunReports";
/// Initializes BatchRunReports parameter list.
protected override void InitParameters()
{
base.InitParameters();
RequestParameters.Add("property", new Google.Apis.Discovery.Parameter
{
Name = "property",
IsRequired = true,
ParameterType = "path",
DefaultValue = null,
Pattern = @"^properties/[^/]+$",
});
}
}
///
/// This compatibility method lists dimensions and metrics that can be added to a report request and maintain
/// compatibility. This method fails if the request's dimensions and metrics are incompatible. In Google
/// Analytics, reports fail if they request incompatible dimensions and/or metrics; in that case, you will need
/// to remove dimensions and/or metrics from the incompatible report until the report is compatible. The
/// Realtime and Core reports have different compatibility rules. This method checks compatibility for Core
/// reports.
///
/// The body of the request.
///
/// A Google Analytics property identifier whose events are tracked. To learn more, see [where to find your
/// Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). `property`
/// should be the same value as in your `runReport` request. Example: properties/1234
///
public virtual CheckCompatibilityRequest CheckCompatibility(Google.Apis.AnalyticsData.v1beta.Data.CheckCompatibilityRequest body, string property)
{
return new CheckCompatibilityRequest(this.service, body, property);
}
///
/// This compatibility method lists dimensions and metrics that can be added to a report request and maintain
/// compatibility. This method fails if the request's dimensions and metrics are incompatible. In Google
/// Analytics, reports fail if they request incompatible dimensions and/or metrics; in that case, you will need
/// to remove dimensions and/or metrics from the incompatible report until the report is compatible. The
/// Realtime and Core reports have different compatibility rules. This method checks compatibility for Core
/// reports.
///
public class CheckCompatibilityRequest : AnalyticsDataBaseServiceRequest
{
/// Constructs a new CheckCompatibility request.
public CheckCompatibilityRequest(Google.Apis.Services.IClientService service, Google.Apis.AnalyticsData.v1beta.Data.CheckCompatibilityRequest body, string property) : base(service)
{
Property = property;
Body = body;
InitParameters();
}
///
/// A Google Analytics property identifier whose events are tracked. To learn more, see [where to find your
/// Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).
/// `property` should be the same value as in your `runReport` request. Example: properties/1234
///
[Google.Apis.Util.RequestParameterAttribute("property", Google.Apis.Util.RequestParameterType.Path)]
public virtual string Property { get; private set; }
/// Gets or sets the body of this request.
Google.Apis.AnalyticsData.v1beta.Data.CheckCompatibilityRequest Body { get; set; }
/// Returns the body of the request.
protected override object GetBody() => Body;
/// Gets the method name.
public override string MethodName => "checkCompatibility";
/// Gets the HTTP method.
public override string HttpMethod => "POST";
/// Gets the REST path.
public override string RestPath => "v1beta/{+property}:checkCompatibility";
/// Initializes CheckCompatibility parameter list.
protected override void InitParameters()
{
base.InitParameters();
RequestParameters.Add("property", new Google.Apis.Discovery.Parameter
{
Name = "property",
IsRequired = true,
ParameterType = "path",
DefaultValue = null,
Pattern = @"^properties/[^/]+$",
});
}
}
///
/// Returns metadata for dimensions and metrics available in reporting methods. Used to explore the dimensions
/// and metrics. In this method, a Google Analytics property identifier is specified in the request, and the
/// metadata response includes Custom dimensions and metrics as well as Universal metadata. For example if a
/// custom metric with parameter name `levels_unlocked` is registered to a property, the Metadata response will
/// contain `customEvent:levels_unlocked`. Universal metadata are dimensions and metrics applicable to any
/// property such as `country` and `totalUsers`.
///
///
/// Required. The resource name of the metadata to retrieve. This name field is specified in the URL path and
/// not URL parameters. Property is a numeric Google Analytics property identifier. To learn more, see [where to
/// find your Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).
/// Example: properties/1234/metadata Set the Property ID to 0 for dimensions and metrics common to all
/// properties. In this special mode, this method will not return custom dimensions and metrics.
///
public virtual GetMetadataRequest GetMetadata(string name)
{
return new GetMetadataRequest(this.service, name);
}
///
/// Returns metadata for dimensions and metrics available in reporting methods. Used to explore the dimensions
/// and metrics. In this method, a Google Analytics property identifier is specified in the request, and the
/// metadata response includes Custom dimensions and metrics as well as Universal metadata. For example if a
/// custom metric with parameter name `levels_unlocked` is registered to a property, the Metadata response will
/// contain `customEvent:levels_unlocked`. Universal metadata are dimensions and metrics applicable to any
/// property such as `country` and `totalUsers`.
///
public class GetMetadataRequest : AnalyticsDataBaseServiceRequest
{
/// Constructs a new GetMetadata request.
public GetMetadataRequest(Google.Apis.Services.IClientService service, string name) : base(service)
{
Name = name;
InitParameters();
}
///
/// Required. The resource name of the metadata to retrieve. This name field is specified in the URL path
/// and not URL parameters. Property is a numeric Google Analytics property identifier. To learn more, see
/// [where to find your Property
/// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Example:
/// properties/1234/metadata Set the Property ID to 0 for dimensions and metrics common to all properties.
/// In this special mode, this method will not return custom dimensions and metrics.
///
[Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)]
public virtual string Name { get; private set; }
/// Gets the method name.
public override string MethodName => "getMetadata";
/// Gets the HTTP method.
public override string HttpMethod => "GET";
/// Gets the REST path.
public override string RestPath => "v1beta/{+name}";
/// Initializes GetMetadata parameter list.
protected override void InitParameters()
{
base.InitParameters();
RequestParameters.Add("name", new Google.Apis.Discovery.Parameter
{
Name = "name",
IsRequired = true,
ParameterType = "path",
DefaultValue = null,
Pattern = @"^properties/[^/]+/metadata$",
});
}
}
///
/// Returns a customized pivot report of your Google Analytics event data. Pivot reports are more advanced and
/// expressive formats than regular reports. In a pivot report, dimensions are only visible if they are included
/// in a pivot. Multiple pivots can be specified to further dissect your data.
///
/// The body of the request.
///
/// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body.
/// To learn more, see [where to find your Property
/// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Within a batch
/// request, this property should either be unspecified or consistent with the batch-level property. Example:
/// properties/1234
///
public virtual RunPivotReportRequest RunPivotReport(Google.Apis.AnalyticsData.v1beta.Data.RunPivotReportRequest body, string property)
{
return new RunPivotReportRequest(this.service, body, property);
}
///
/// Returns a customized pivot report of your Google Analytics event data. Pivot reports are more advanced and
/// expressive formats than regular reports. In a pivot report, dimensions are only visible if they are included
/// in a pivot. Multiple pivots can be specified to further dissect your data.
///
public class RunPivotReportRequest : AnalyticsDataBaseServiceRequest
{
/// Constructs a new RunPivotReport request.
public RunPivotReportRequest(Google.Apis.Services.IClientService service, Google.Apis.AnalyticsData.v1beta.Data.RunPivotReportRequest body, string property) : base(service)
{
Property = property;
Body = body;
InitParameters();
}
///
/// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the
/// body. To learn more, see [where to find your Property
/// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Within a batch
/// request, this property should either be unspecified or consistent with the batch-level property.
/// Example: properties/1234
///
[Google.Apis.Util.RequestParameterAttribute("property", Google.Apis.Util.RequestParameterType.Path)]
public virtual string Property { get; private set; }
/// Gets or sets the body of this request.
Google.Apis.AnalyticsData.v1beta.Data.RunPivotReportRequest Body { get; set; }
/// Returns the body of the request.
protected override object GetBody() => Body;
/// Gets the method name.
public override string MethodName => "runPivotReport";
/// Gets the HTTP method.
public override string HttpMethod => "POST";
/// Gets the REST path.
public override string RestPath => "v1beta/{+property}:runPivotReport";
/// Initializes RunPivotReport parameter list.
protected override void InitParameters()
{
base.InitParameters();
RequestParameters.Add("property", new Google.Apis.Discovery.Parameter
{
Name = "property",
IsRequired = true,
ParameterType = "path",
DefaultValue = null,
Pattern = @"^properties/[^/]+$",
});
}
}
///
/// Returns a customized report of realtime event data for your property. Events appear in realtime reports
/// seconds after they have been sent to the Google Analytics. Realtime reports show events and usage data for
/// the periods of time ranging from the present moment to 30 minutes ago (up to 60 minutes for Google Analytics
/// 360 properties). For a guide to constructing realtime requests & understanding responses, see
/// [Creating a Realtime
/// Report](https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-basics).
///
/// The body of the request.
///
/// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body.
/// To learn more, see [where to find your Property
/// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Example:
/// properties/1234
///
public virtual RunRealtimeReportRequest RunRealtimeReport(Google.Apis.AnalyticsData.v1beta.Data.RunRealtimeReportRequest body, string property)
{
return new RunRealtimeReportRequest(this.service, body, property);
}
///
/// Returns a customized report of realtime event data for your property. Events appear in realtime reports
/// seconds after they have been sent to the Google Analytics. Realtime reports show events and usage data for
/// the periods of time ranging from the present moment to 30 minutes ago (up to 60 minutes for Google Analytics
/// 360 properties). For a guide to constructing realtime requests & understanding responses, see
/// [Creating a Realtime
/// Report](https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-basics).
///
public class RunRealtimeReportRequest : AnalyticsDataBaseServiceRequest
{
/// Constructs a new RunRealtimeReport request.
public RunRealtimeReportRequest(Google.Apis.Services.IClientService service, Google.Apis.AnalyticsData.v1beta.Data.RunRealtimeReportRequest body, string property) : base(service)
{
Property = property;
Body = body;
InitParameters();
}
///
/// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the
/// body. To learn more, see [where to find your Property
/// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Example:
/// properties/1234
///
[Google.Apis.Util.RequestParameterAttribute("property", Google.Apis.Util.RequestParameterType.Path)]
public virtual string Property { get; private set; }
/// Gets or sets the body of this request.
Google.Apis.AnalyticsData.v1beta.Data.RunRealtimeReportRequest Body { get; set; }
/// Returns the body of the request.
protected override object GetBody() => Body;
/// Gets the method name.
public override string MethodName => "runRealtimeReport";
/// Gets the HTTP method.
public override string HttpMethod => "POST";
/// Gets the REST path.
public override string RestPath => "v1beta/{+property}:runRealtimeReport";
/// Initializes RunRealtimeReport parameter list.
protected override void InitParameters()
{
base.InitParameters();
RequestParameters.Add("property", new Google.Apis.Discovery.Parameter
{
Name = "property",
IsRequired = true,
ParameterType = "path",
DefaultValue = null,
Pattern = @"^properties/[^/]+$",
});
}
}
///
/// Returns a customized report of your Google Analytics event data. Reports contain statistics derived from
/// data collected by the Google Analytics tracking code. The data returned from the API is as a table with
/// columns for the requested dimensions and metrics. Metrics are individual measurements of user activity on
/// your property, such as active users or event count. Dimensions break down metrics across some common
/// criteria, such as country or event name. For a guide to constructing requests & understanding
/// responses, see [Creating a
/// Report](https://developers.google.com/analytics/devguides/reporting/data/v1/basics).
///
/// The body of the request.
///
/// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body.
/// To learn more, see [where to find your Property
/// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Within a batch
/// request, this property should either be unspecified or consistent with the batch-level property. Example:
/// properties/1234
///
public virtual RunReportRequest RunReport(Google.Apis.AnalyticsData.v1beta.Data.RunReportRequest body, string property)
{
return new RunReportRequest(this.service, body, property);
}
///
/// Returns a customized report of your Google Analytics event data. Reports contain statistics derived from
/// data collected by the Google Analytics tracking code. The data returned from the API is as a table with
/// columns for the requested dimensions and metrics. Metrics are individual measurements of user activity on
/// your property, such as active users or event count. Dimensions break down metrics across some common
/// criteria, such as country or event name. For a guide to constructing requests & understanding
/// responses, see [Creating a
/// Report](https://developers.google.com/analytics/devguides/reporting/data/v1/basics).
///
public class RunReportRequest : AnalyticsDataBaseServiceRequest
{
/// Constructs a new RunReport request.
public RunReportRequest(Google.Apis.Services.IClientService service, Google.Apis.AnalyticsData.v1beta.Data.RunReportRequest body, string property) : base(service)
{
Property = property;
Body = body;
InitParameters();
}
///
/// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the
/// body. To learn more, see [where to find your Property
/// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Within a batch
/// request, this property should either be unspecified or consistent with the batch-level property.
/// Example: properties/1234
///
[Google.Apis.Util.RequestParameterAttribute("property", Google.Apis.Util.RequestParameterType.Path)]
public virtual string Property { get; private set; }
/// Gets or sets the body of this request.
Google.Apis.AnalyticsData.v1beta.Data.RunReportRequest Body { get; set; }
/// Returns the body of the request.
protected override object GetBody() => Body;
/// Gets the method name.
public override string MethodName => "runReport";
/// Gets the HTTP method.
public override string HttpMethod => "POST";
/// Gets the REST path.
public override string RestPath => "v1beta/{+property}:runReport";
/// Initializes RunReport parameter list.
protected override void InitParameters()
{
base.InitParameters();
RequestParameters.Add("property", new Google.Apis.Discovery.Parameter
{
Name = "property",
IsRequired = true,
ParameterType = "path",
DefaultValue = null,
Pattern = @"^properties/[^/]+$",
});
}
}
}
}
namespace Google.Apis.AnalyticsData.v1beta.Data
{
/// A metric actively restricted in creating the report.
public class ActiveMetricRestriction : Google.Apis.Requests.IDirectResponseSchema
{
/// The name of the restricted metric.
[Newtonsoft.Json.JsonPropertyAttribute("metricName")]
public virtual string MetricName { get; set; }
/// The reason for this metric's restriction.
[Newtonsoft.Json.JsonPropertyAttribute("restrictedMetricTypes")]
public virtual System.Collections.Generic.IList RestrictedMetricTypes { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// An audience export is a list of users in an audience at the time of the list's creation. One audience may have
/// multiple audience exports created for different days.
///
public class AudienceExport : Google.Apis.Requests.IDirectResponseSchema
{
///
/// Required. The audience resource name. This resource name identifies the audience being listed and is shared
/// between the Analytics Data & Admin APIs. Format: `properties/{property}/audiences/{audience}`
///
[Newtonsoft.Json.JsonPropertyAttribute("audience")]
public virtual string Audience { get; set; }
/// Output only. The descriptive display name for this audience. For example, "Purchasers".
[Newtonsoft.Json.JsonPropertyAttribute("audienceDisplayName")]
public virtual string AudienceDisplayName { get; set; }
private string _beginCreatingTimeRaw;
private object _beginCreatingTime;
///
/// Output only. The time when CreateAudienceExport was called and the AudienceExport began the `CREATING`
/// state.
///
[Newtonsoft.Json.JsonPropertyAttribute("beginCreatingTime")]
public virtual string BeginCreatingTimeRaw
{
get => _beginCreatingTimeRaw;
set
{
_beginCreatingTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value);
_beginCreatingTimeRaw = value;
}
}
/// representation of .
[Newtonsoft.Json.JsonIgnoreAttribute]
[System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use BeginCreatingTimeDateTimeOffset instead.")]
public virtual object BeginCreatingTime
{
get => _beginCreatingTime;
set
{
_beginCreatingTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value);
_beginCreatingTime = value;
}
}
///
/// representation of .
///
[Newtonsoft.Json.JsonIgnoreAttribute]
public virtual System.DateTimeOffset? BeginCreatingTimeDateTimeOffset
{
get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(BeginCreatingTimeRaw);
set => BeginCreatingTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value);
}
///
/// Output only. The total quota tokens charged during creation of the AudienceExport. Because this token count
/// is based on activity from the `CREATING` state, this tokens charged will be fixed once an AudienceExport
/// enters the `ACTIVE` or `FAILED` states.
///
[Newtonsoft.Json.JsonPropertyAttribute("creationQuotaTokensCharged")]
public virtual System.Nullable CreationQuotaTokensCharged { get; set; }
/// Required. The dimensions requested and displayed in the query response.
[Newtonsoft.Json.JsonPropertyAttribute("dimensions")]
public virtual System.Collections.Generic.IList Dimensions { get; set; }
///
/// Output only. Error message is populated when an audience export fails during creation. A common reason for
/// such a failure is quota exhaustion.
///
[Newtonsoft.Json.JsonPropertyAttribute("errorMessage")]
public virtual string ErrorMessage { get; set; }
///
/// Output only. Identifier. The audience export resource name assigned during creation. This resource name
/// identifies this `AudienceExport`. Format: `properties/{property}/audienceExports/{audience_export}`
///
[Newtonsoft.Json.JsonPropertyAttribute("name")]
public virtual string Name { get; set; }
/// Output only. The percentage completed for this audience export ranging between 0 to 100.
[Newtonsoft.Json.JsonPropertyAttribute("percentageCompleted")]
public virtual System.Nullable PercentageCompleted { get; set; }
/// Output only. The total number of rows in the AudienceExport result.
[Newtonsoft.Json.JsonPropertyAttribute("rowCount")]
public virtual System.Nullable RowCount { get; set; }
/// Output only. The current state for this AudienceExport.
[Newtonsoft.Json.JsonPropertyAttribute("state")]
public virtual string State { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// This metadata is currently blank.
public class AudienceListMetadata : Google.Apis.Requests.IDirectResponseSchema
{
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// The batch request containing multiple pivot report requests.
public class BatchRunPivotReportsRequest : Google.Apis.Requests.IDirectResponseSchema
{
///
/// Individual requests. Each request has a separate pivot report response. Each batch request is allowed up to
/// 5 requests.
///
[Newtonsoft.Json.JsonPropertyAttribute("requests")]
public virtual System.Collections.Generic.IList Requests { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// The batch response containing multiple pivot reports.
public class BatchRunPivotReportsResponse : Google.Apis.Requests.IDirectResponseSchema
{
///
/// Identifies what kind of resource this message is. This `kind` is always the fixed string
/// "analyticsData#batchRunPivotReports". Useful to distinguish between response types in JSON.
///
[Newtonsoft.Json.JsonPropertyAttribute("kind")]
public virtual string Kind { get; set; }
/// Individual responses. Each response has a separate pivot report request.
[Newtonsoft.Json.JsonPropertyAttribute("pivotReports")]
public virtual System.Collections.Generic.IList PivotReports { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// The batch request containing multiple report requests.
public class BatchRunReportsRequest : Google.Apis.Requests.IDirectResponseSchema
{
///
/// Individual requests. Each request has a separate report response. Each batch request is allowed up to 5
/// requests.
///
[Newtonsoft.Json.JsonPropertyAttribute("requests")]
public virtual System.Collections.Generic.IList Requests { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// The batch response containing multiple reports.
public class BatchRunReportsResponse : Google.Apis.Requests.IDirectResponseSchema
{
///
/// Identifies what kind of resource this message is. This `kind` is always the fixed string
/// "analyticsData#batchRunReports". Useful to distinguish between response types in JSON.
///
[Newtonsoft.Json.JsonPropertyAttribute("kind")]
public virtual string Kind { get; set; }
/// Individual responses. Each response has a separate report request.
[Newtonsoft.Json.JsonPropertyAttribute("reports")]
public virtual System.Collections.Generic.IList Reports { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// To express that the result needs to be between two numbers (inclusive).
public class BetweenFilter : Google.Apis.Requests.IDirectResponseSchema
{
/// Begins with this number.
[Newtonsoft.Json.JsonPropertyAttribute("fromValue")]
public virtual NumericValue FromValue { get; set; }
/// Ends with this number.
[Newtonsoft.Json.JsonPropertyAttribute("toValue")]
public virtual NumericValue ToValue { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// Used to convert a dimension value to a single case.
public class CaseExpression : Google.Apis.Requests.IDirectResponseSchema
{
///
/// Name of a dimension. The name must refer back to a name in dimensions field of the request.
///
[Newtonsoft.Json.JsonPropertyAttribute("dimensionName")]
public virtual string DimensionName { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// The request for compatibility information for a report's dimensions and metrics. Check compatibility provides a
/// preview of the compatibility of a report; fields shared with the `runReport` request should be the same values
/// as in your `runReport` request.
///
public class CheckCompatibilityRequest : Google.Apis.Requests.IDirectResponseSchema
{
///
/// Filters the dimensions and metrics in the response to just this compatibility. Commonly used as
/// `”compatibilityFilter”: “COMPATIBLE”` to only return compatible dimensions & metrics.
///
[Newtonsoft.Json.JsonPropertyAttribute("compatibilityFilter")]
public virtual string CompatibilityFilter { get; set; }
///
/// The filter clause of dimensions. `dimensionFilter` should be the same value as in your `runReport` request.
///
[Newtonsoft.Json.JsonPropertyAttribute("dimensionFilter")]
public virtual FilterExpression DimensionFilter { get; set; }
///
/// The dimensions in this report. `dimensions` should be the same value as in your `runReport` request.
///
[Newtonsoft.Json.JsonPropertyAttribute("dimensions")]
public virtual System.Collections.Generic.IList Dimensions { get; set; }
///
/// The filter clause of metrics. `metricFilter` should be the same value as in your `runReport` request
///
[Newtonsoft.Json.JsonPropertyAttribute("metricFilter")]
public virtual FilterExpression MetricFilter { get; set; }
///
/// The metrics in this report. `metrics` should be the same value as in your `runReport` request.
///
[Newtonsoft.Json.JsonPropertyAttribute("metrics")]
public virtual System.Collections.Generic.IList Metrics { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// The compatibility response with the compatibility of each dimension & metric.
public class CheckCompatibilityResponse : Google.Apis.Requests.IDirectResponseSchema
{
/// The compatibility of each dimension.
[Newtonsoft.Json.JsonPropertyAttribute("dimensionCompatibilities")]
public virtual System.Collections.Generic.IList DimensionCompatibilities { get; set; }
/// The compatibility of each metric.
[Newtonsoft.Json.JsonPropertyAttribute("metricCompatibilities")]
public virtual System.Collections.Generic.IList MetricCompatibilities { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// Defines a cohort selection criteria. A cohort is a group of users who share a common characteristic. For
/// example, users with the same `firstSessionDate` belong to the same cohort.
///
public class Cohort : Google.Apis.Requests.IDirectResponseSchema
{
///
/// The cohort selects users whose first touch date is between start date and end date defined in the
/// `dateRange`. This `dateRange` does not specify the full date range of event data that is present in a cohort
/// report. In a cohort report, this `dateRange` is extended by the granularity and offset present in the
/// `cohortsRange`; event data for the extended reporting date range is present in a cohort report. In a cohort
/// request, this `dateRange` is required and the `dateRanges` in the `RunReportRequest` or
/// `RunPivotReportRequest` must be unspecified. This `dateRange` should generally be aligned with the cohort's
/// granularity. If `CohortsRange` uses daily granularity, this `dateRange` can be a single day. If
/// `CohortsRange` uses weekly granularity, this `dateRange` can be aligned to a week boundary, starting at
/// Sunday and ending Saturday. If `CohortsRange` uses monthly granularity, this `dateRange` can be aligned to a
/// month, starting at the first and ending on the last day of the month.
///
[Newtonsoft.Json.JsonPropertyAttribute("dateRange")]
public virtual DateRange DateRange { get; set; }
/// Dimension used by the cohort. Required and only supports `firstSessionDate`.
[Newtonsoft.Json.JsonPropertyAttribute("dimension")]
public virtual string Dimension { get; set; }
///
/// Assigns a name to this cohort. The dimension `cohort` is valued to this name in a report response. If set,
/// cannot begin with `cohort_` or `RESERVED_`. If not set, cohorts are named by their zero based index
/// `cohort_0`, `cohort_1`, etc.
///
[Newtonsoft.Json.JsonPropertyAttribute("name")]
public virtual string Name { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// Optional settings of a cohort report.
public class CohortReportSettings : Google.Apis.Requests.IDirectResponseSchema
{
///
/// If true, accumulates the result from first touch day to the end day. Not supported in `RunReportRequest`.
///
[Newtonsoft.Json.JsonPropertyAttribute("accumulate")]
public virtual System.Nullable Accumulate { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// The specification of cohorts for a cohort report. Cohort reports create a time series of user retention for the
/// cohort. For example, you could select the cohort of users that were acquired in the first week of September and
/// follow that cohort for the next six weeks. Selecting the users acquired in the first week of September cohort is
/// specified in the `cohort` object. Following that cohort for the next six weeks is specified in the
/// `cohortsRange` object. For examples, see [Cohort Report
/// Examples](https://developers.google.com/analytics/devguides/reporting/data/v1/advanced#cohort_report_examples).
/// The report response could show a weekly time series where say your app has retained 60% of this cohort after
/// three weeks and 25% of this cohort after six weeks. These two percentages can be calculated by the metric
/// `cohortActiveUsers/cohortTotalUsers` and will be separate rows in the report.
///
public class CohortSpec : Google.Apis.Requests.IDirectResponseSchema
{
/// Optional settings for a cohort report.
[Newtonsoft.Json.JsonPropertyAttribute("cohortReportSettings")]
public virtual CohortReportSettings CohortReportSettings { get; set; }
///
/// Defines the selection criteria to group users into cohorts. Most cohort reports define only a single cohort.
/// If multiple cohorts are specified, each cohort can be recognized in the report by their name.
///
[Newtonsoft.Json.JsonPropertyAttribute("cohorts")]
public virtual System.Collections.Generic.IList Cohorts { get; set; }
///
/// Cohort reports follow cohorts over an extended reporting date range. This range specifies an offset duration
/// to follow the cohorts over.
///
[Newtonsoft.Json.JsonPropertyAttribute("cohortsRange")]
public virtual CohortsRange CohortsRange { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// Configures the extended reporting date range for a cohort report. Specifies an offset duration to follow the
/// cohorts over.
///
public class CohortsRange : Google.Apis.Requests.IDirectResponseSchema
{
///
/// Required. `endOffset` specifies the end date of the extended reporting date range for a cohort report.
/// `endOffset` can be any positive integer but is commonly set to 5 to 10 so that reports contain data on the
/// cohort for the next several granularity time periods. If `granularity` is `DAILY`, the `endDate` of the
/// extended reporting date range is `endDate` of the cohort plus `endOffset` days. If `granularity` is
/// `WEEKLY`, the `endDate` of the extended reporting date range is `endDate` of the cohort plus `endOffset * 7`
/// days. If `granularity` is `MONTHLY`, the `endDate` of the extended reporting date range is `endDate` of the
/// cohort plus `endOffset * 30` days.
///
[Newtonsoft.Json.JsonPropertyAttribute("endOffset")]
public virtual System.Nullable EndOffset { get; set; }
///
/// Required. The granularity used to interpret the `startOffset` and `endOffset` for the extended reporting
/// date range for a cohort report.
///
[Newtonsoft.Json.JsonPropertyAttribute("granularity")]
public virtual string Granularity { get; set; }
///
/// `startOffset` specifies the start date of the extended reporting date range for a cohort report.
/// `startOffset` is commonly set to 0 so that reports contain data from the acquisition of the cohort forward.
/// If `granularity` is `DAILY`, the `startDate` of the extended reporting date range is `startDate` of the
/// cohort plus `startOffset` days. If `granularity` is `WEEKLY`, the `startDate` of the extended reporting date
/// range is `startDate` of the cohort plus `startOffset * 7` days. If `granularity` is `MONTHLY`, the
/// `startDate` of the extended reporting date range is `startDate` of the cohort plus `startOffset * 30` days.
///
[Newtonsoft.Json.JsonPropertyAttribute("startOffset")]
public virtual System.Nullable StartOffset { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// Defines an individual comparison. Most requests will include multiple comparisons so that the report compares
/// between the comparisons.
///
public class Comparison : Google.Apis.Requests.IDirectResponseSchema
{
///
/// A saved comparison identified by the comparison's resource name. For example, 'comparisons/1234'.
///
[Newtonsoft.Json.JsonPropertyAttribute("comparison")]
public virtual string ComparisonValue { get; set; }
/// A basic comparison.
[Newtonsoft.Json.JsonPropertyAttribute("dimensionFilter")]
public virtual FilterExpression DimensionFilter { get; set; }
///
/// Each comparison produces separate rows in the response. In the response, this comparison is identified by
/// this name. If name is unspecified, we will use the saved comparisons display name.
///
[Newtonsoft.Json.JsonPropertyAttribute("name")]
public virtual string Name { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// The metadata for a single comparison.
public class ComparisonMetadata : Google.Apis.Requests.IDirectResponseSchema
{
///
/// This comparison's resource name. Useable in [Comparison](#Comparison)'s `comparison` field. For example,
/// 'comparisons/1234'.
///
[Newtonsoft.Json.JsonPropertyAttribute("apiName")]
public virtual string ApiName { get; set; }
/// This comparison's description.
[Newtonsoft.Json.JsonPropertyAttribute("description")]
public virtual string Description { get; set; }
/// This comparison's name within the Google Analytics user interface.
[Newtonsoft.Json.JsonPropertyAttribute("uiName")]
public virtual string UiName { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// Used to combine dimension values to a single dimension.
public class ConcatenateExpression : Google.Apis.Requests.IDirectResponseSchema
{
///
/// The delimiter placed between dimension names. Delimiters are often single characters such as "|" or "," but
/// can be longer strings. If a dimension value contains the delimiter, both will be present in response with no
/// distinction. For example if dimension 1 value = "US,FR", dimension 2 value = "JP", and delimiter = ",", then
/// the response will contain "US,FR,JP".
///
[Newtonsoft.Json.JsonPropertyAttribute("delimiter")]
public virtual string Delimiter { get; set; }
///
/// Names of dimensions. The names must refer back to names in the dimensions field of the request.
///
[Newtonsoft.Json.JsonPropertyAttribute("dimensionNames")]
public virtual System.Collections.Generic.IList DimensionNames { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// A contiguous set of days: `startDate`, `startDate + 1`, ..., `endDate`. Requests are allowed up to 4 date
/// ranges.
///
public class DateRange : Google.Apis.Requests.IDirectResponseSchema
{
///
/// The inclusive end date for the query in the format `YYYY-MM-DD`. Cannot be before `start_date`. The format
/// `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the
/// property's reporting time zone.
///
[Newtonsoft.Json.JsonPropertyAttribute("endDate")]
public virtual string EndDate { get; set; }
///
/// Assigns a name to this date range. The dimension `dateRange` is valued to this name in a report response. If
/// set, cannot begin with `date_range_` or `RESERVED_`. If not set, date ranges are named by their zero based
/// index in the request: `date_range_0`, `date_range_1`, etc.
///
[Newtonsoft.Json.JsonPropertyAttribute("name")]
public virtual string Name { get; set; }
///
/// The inclusive start date for the query in the format `YYYY-MM-DD`. Cannot be after `end_date`. The format
/// `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the
/// property's reporting time zone.
///
[Newtonsoft.Json.JsonPropertyAttribute("startDate")]
public virtual string StartDate { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event
/// originates. Dimension values in report responses are strings; for example, the city could be "Paris" or "New
/// York". Requests are allowed up to 9 dimensions.
///
public class Dimension : Google.Apis.Requests.IDirectResponseSchema
{
///
/// One dimension can be the result of an expression of multiple dimensions. For example, dimension "country,
/// city": concatenate(country, ", ", city).
///
[Newtonsoft.Json.JsonPropertyAttribute("dimensionExpression")]
public virtual DimensionExpression DimensionExpression { get; set; }
///
/// The name of the dimension. See the [API
/// Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#dimensions) for
/// the list of dimension names supported by core reporting methods such as `runReport` and `batchRunReports`.
/// See [Realtime
/// Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-api-schema#dimensions)
/// for the list of dimension names supported by the `runRealtimeReport` method. See [Funnel
/// Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/exploration-api-schema#dimensions)
/// for the list of dimension names supported by the `runFunnelReport` method. If `dimensionExpression` is
/// specified, `name` can be any string that you would like within the allowed character set. For example if a
/// `dimensionExpression` concatenates `country` and `city`, you could call that dimension `countryAndCity`.
/// Dimension names that you choose must match the regular expression `^[a-zA-Z0-9_]$`. Dimensions are
/// referenced by `name` in `dimensionFilter`, `orderBys`, `dimensionExpression`, and `pivots`.
///
[Newtonsoft.Json.JsonPropertyAttribute("name")]
public virtual string Name { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// The compatibility for a single dimension.
public class DimensionCompatibility : Google.Apis.Requests.IDirectResponseSchema
{
///
/// The compatibility of this dimension. If the compatibility is COMPATIBLE, this dimension can be successfully
/// added to the report.
///
[Newtonsoft.Json.JsonPropertyAttribute("compatibility")]
public virtual string Compatibility { get; set; }
///
/// The dimension metadata contains the API name for this compatibility information. The dimension metadata also
/// contains other helpful information like the UI name and description.
///
[Newtonsoft.Json.JsonPropertyAttribute("dimensionMetadata")]
public virtual DimensionMetadata DimensionMetadata { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// Used to express a dimension which is the result of a formula of multiple dimensions. Example usages: 1)
/// lower_case(dimension) 2) concatenate(dimension1, symbol, dimension2).
///
public class DimensionExpression : Google.Apis.Requests.IDirectResponseSchema
{
///
/// Used to combine dimension values to a single dimension. For example, dimension "country, city":
/// concatenate(country, ", ", city).
///
[Newtonsoft.Json.JsonPropertyAttribute("concatenate")]
public virtual ConcatenateExpression Concatenate { get; set; }
/// Used to convert a dimension value to lower case.
[Newtonsoft.Json.JsonPropertyAttribute("lowerCase")]
public virtual CaseExpression LowerCase { get; set; }
/// Used to convert a dimension value to upper case.
[Newtonsoft.Json.JsonPropertyAttribute("upperCase")]
public virtual CaseExpression UpperCase { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// Describes a dimension column in the report. Dimensions requested in a report produce column entries within rows
/// and DimensionHeaders. However, dimensions used exclusively within filters or expressions do not produce columns
/// in a report; correspondingly, those dimensions do not produce headers.
///
public class DimensionHeader : Google.Apis.Requests.IDirectResponseSchema
{
/// The dimension's name.
[Newtonsoft.Json.JsonPropertyAttribute("name")]
public virtual string Name { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// Explains a dimension.
public class DimensionMetadata : Google.Apis.Requests.IDirectResponseSchema
{
///
/// This dimension's name. Useable in [Dimension](#Dimension)'s `name`. For example, `eventName`.
///
[Newtonsoft.Json.JsonPropertyAttribute("apiName")]
public virtual string ApiName { get; set; }
///
/// The display name of the category that this dimension belongs to. Similar dimensions and metrics are
/// categorized together.
///
[Newtonsoft.Json.JsonPropertyAttribute("category")]
public virtual string Category { get; set; }
///
/// True if the dimension is custom to this property. This includes user, event, & item scoped custom
/// dimensions; to learn more about custom dimensions, see https://support.google.com/analytics/answer/14240153.
/// This also include custom channel groups; to learn more about custom channel groups, see
/// https://support.google.com/analytics/answer/13051316.
///
[Newtonsoft.Json.JsonPropertyAttribute("customDefinition")]
public virtual System.Nullable CustomDefinition { get; set; }
///
/// Still usable but deprecated names for this dimension. If populated, this dimension is available by either
/// `apiName` or one of `deprecatedApiNames` for a period of time. After the deprecation period, the dimension
/// will be available only by `apiName`.
///
[Newtonsoft.Json.JsonPropertyAttribute("deprecatedApiNames")]
public virtual System.Collections.Generic.IList DeprecatedApiNames { get; set; }
/// Description of how this dimension is used and calculated.
[Newtonsoft.Json.JsonPropertyAttribute("description")]
public virtual string Description { get; set; }
///
/// This dimension's name within the Google Analytics user interface. For example, `Event name`.
///
[Newtonsoft.Json.JsonPropertyAttribute("uiName")]
public virtual string UiName { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// Sorts by dimension values.
public class DimensionOrderBy : Google.Apis.Requests.IDirectResponseSchema
{
/// A dimension name in the request to order by.
[Newtonsoft.Json.JsonPropertyAttribute("dimensionName")]
public virtual string DimensionName { get; set; }
/// Controls the rule for dimension value ordering.
[Newtonsoft.Json.JsonPropertyAttribute("orderType")]
public virtual string OrderType { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// The value of a dimension.
public class DimensionValue : Google.Apis.Requests.IDirectResponseSchema
{
/// Value as a string if the dimension type is a string.
[Newtonsoft.Json.JsonPropertyAttribute("value")]
public virtual string Value { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// Filter for empty values.
public class EmptyFilter : Google.Apis.Requests.IDirectResponseSchema
{
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// An expression to filter dimension or metric values.
public class Filter : Google.Apis.Requests.IDirectResponseSchema
{
/// A filter for two values.
[Newtonsoft.Json.JsonPropertyAttribute("betweenFilter")]
public virtual BetweenFilter BetweenFilter { get; set; }
/// A filter for empty values such as "(not set)" and "" values.
[Newtonsoft.Json.JsonPropertyAttribute("emptyFilter")]
public virtual EmptyFilter EmptyFilter { get; set; }
///
/// The dimension name or metric name. In most methods, dimensions & metrics can be used for the first
/// time in this field. However in a RunPivotReportRequest, this field must be additionally specified by name in
/// the RunPivotReportRequest's dimensions or metrics.
///
[Newtonsoft.Json.JsonPropertyAttribute("fieldName")]
public virtual string FieldName { get; set; }
/// A filter for in list values.
[Newtonsoft.Json.JsonPropertyAttribute("inListFilter")]
public virtual InListFilter InListFilter { get; set; }
/// A filter for numeric or date values.
[Newtonsoft.Json.JsonPropertyAttribute("numericFilter")]
public virtual NumericFilter NumericFilter { get; set; }
/// Strings related filter.
[Newtonsoft.Json.JsonPropertyAttribute("stringFilter")]
public virtual StringFilter StringFilter { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// To express dimension or metric filters. The fields in the same FilterExpression need to be either all dimensions
/// or all metrics.
///
public class FilterExpression : Google.Apis.Requests.IDirectResponseSchema
{
/// The FilterExpressions in and_group have an AND relationship.
[Newtonsoft.Json.JsonPropertyAttribute("andGroup")]
public virtual FilterExpressionList AndGroup { get; set; }
///
/// A primitive filter. In the same FilterExpression, all of the filter's field names need to be either all
/// dimensions or all metrics.
///
[Newtonsoft.Json.JsonPropertyAttribute("filter")]
public virtual Filter Filter { get; set; }
/// The FilterExpression is NOT of not_expression.
[Newtonsoft.Json.JsonPropertyAttribute("notExpression")]
public virtual FilterExpression NotExpression { get; set; }
/// The FilterExpressions in or_group have an OR relationship.
[Newtonsoft.Json.JsonPropertyAttribute("orGroup")]
public virtual FilterExpressionList OrGroup { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// A list of filter expressions.
public class FilterExpressionList : Google.Apis.Requests.IDirectResponseSchema
{
/// A list of filter expressions.
[Newtonsoft.Json.JsonPropertyAttribute("expressions")]
public virtual System.Collections.Generic.IList Expressions { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// The result needs to be in a list of string values.
public class InListFilter : Google.Apis.Requests.IDirectResponseSchema
{
/// If true, the string value is case sensitive.
[Newtonsoft.Json.JsonPropertyAttribute("caseSensitive")]
public virtual System.Nullable CaseSensitive { get; set; }
/// The list of string values. Must be non-empty.
[Newtonsoft.Json.JsonPropertyAttribute("values")]
public virtual System.Collections.Generic.IList Values { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// A list of all audience exports for a property.
public class ListAudienceExportsResponse : Google.Apis.Requests.IDirectResponseSchema
{
/// Each audience export for a property.
[Newtonsoft.Json.JsonPropertyAttribute("audienceExports")]
public virtual System.Collections.Generic.IList AudienceExports { get; set; }
///
/// A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no
/// subsequent pages.
///
[Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")]
public virtual string NextPageToken { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// The dimensions, metrics and comparisons currently accepted in reporting methods.
public class Metadata : Google.Apis.Requests.IDirectResponseSchema
{
/// The comparison descriptions.
[Newtonsoft.Json.JsonPropertyAttribute("comparisons")]
public virtual System.Collections.Generic.IList Comparisons { get; set; }
/// The dimension descriptions.
[Newtonsoft.Json.JsonPropertyAttribute("dimensions")]
public virtual System.Collections.Generic.IList Dimensions { get; set; }
/// The metric descriptions.
[Newtonsoft.Json.JsonPropertyAttribute("metrics")]
public virtual System.Collections.Generic.IList Metrics { get; set; }
/// Resource name of this metadata.
[Newtonsoft.Json.JsonPropertyAttribute("name")]
public virtual string Name { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// The quantitative measurements of a report. For example, the metric `eventCount` is the total number of events.
/// Requests are allowed up to 10 metrics.
///
public class Metric : Google.Apis.Requests.IDirectResponseSchema
{
///
/// A mathematical expression for derived metrics. For example, the metric Event count per user is
/// `eventCount/totalUsers`.
///
[Newtonsoft.Json.JsonPropertyAttribute("expression")]
public virtual string Expression { get; set; }
///
/// Indicates if a metric is invisible in the report response. If a metric is invisible, the metric will not
/// produce a column in the response, but can be used in `metricFilter`, `orderBys`, or a metric `expression`.
///
[Newtonsoft.Json.JsonPropertyAttribute("invisible")]
public virtual System.Nullable Invisible { get; set; }
///
/// The name of the metric. See the [API
/// Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#metrics) for the
/// list of metric names supported by core reporting methods such as `runReport` and `batchRunReports`. See
/// [Realtime
/// Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-api-schema#metrics)
/// for the list of metric names supported by the `runRealtimeReport` method. See [Funnel
/// Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/exploration-api-schema#metrics)
/// for the list of metric names supported by the `runFunnelReport` method. If `expression` is specified, `name`
/// can be any string that you would like within the allowed character set. For example if `expression` is
/// `screenPageViews/sessions`, you could call that metric's name = `viewsPerSession`. Metric names that you
/// choose must match the regular expression `^[a-zA-Z0-9_]$`. Metrics are referenced by `name` in
/// `metricFilter`, `orderBys`, and metric `expression`.
///
[Newtonsoft.Json.JsonPropertyAttribute("name")]
public virtual string Name { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// The compatibility for a single metric.
public class MetricCompatibility : Google.Apis.Requests.IDirectResponseSchema
{
///
/// The compatibility of this metric. If the compatibility is COMPATIBLE, this metric can be successfully added
/// to the report.
///
[Newtonsoft.Json.JsonPropertyAttribute("compatibility")]
public virtual string Compatibility { get; set; }
///
/// The metric metadata contains the API name for this compatibility information. The metric metadata also
/// contains other helpful information like the UI name and description.
///
[Newtonsoft.Json.JsonPropertyAttribute("metricMetadata")]
public virtual MetricMetadata MetricMetadata { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// Describes a metric column in the report. Visible metrics requested in a report produce column entries within
/// rows and MetricHeaders. However, metrics used exclusively within filters or expressions do not produce columns
/// in a report; correspondingly, those metrics do not produce headers.
///
public class MetricHeader : Google.Apis.Requests.IDirectResponseSchema
{
/// The metric's name.
[Newtonsoft.Json.JsonPropertyAttribute("name")]
public virtual string Name { get; set; }
/// The metric's data type.
[Newtonsoft.Json.JsonPropertyAttribute("type")]
public virtual string Type { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// Explains a metric.
public class MetricMetadata : Google.Apis.Requests.IDirectResponseSchema
{
/// A metric name. Useable in [Metric](#Metric)'s `name`. For example, `eventCount`.
[Newtonsoft.Json.JsonPropertyAttribute("apiName")]
public virtual string ApiName { get; set; }
///
/// If reasons are specified, your access is blocked to this metric for this property. API requests from you to
/// this property for this metric will succeed; however, the report will contain only zeros for this metric. API
/// requests with metric filters on blocked metrics will fail. If reasons are empty, you have access to this
/// metric. To learn more, see [Access and data-restriction
/// management](https://support.google.com/analytics/answer/10851388).
///
[Newtonsoft.Json.JsonPropertyAttribute("blockedReasons")]
public virtual System.Collections.Generic.IList BlockedReasons { get; set; }
///
/// The display name of the category that this metrics belongs to. Similar dimensions and metrics are
/// categorized together.
///
[Newtonsoft.Json.JsonPropertyAttribute("category")]
public virtual string Category { get; set; }
/// True if the metric is a custom metric for this property.
[Newtonsoft.Json.JsonPropertyAttribute("customDefinition")]
public virtual System.Nullable CustomDefinition { get; set; }
///
/// Still usable but deprecated names for this metric. If populated, this metric is available by either
/// `apiName` or one of `deprecatedApiNames` for a period of time. After the deprecation period, the metric will
/// be available only by `apiName`.
///
[Newtonsoft.Json.JsonPropertyAttribute("deprecatedApiNames")]
public virtual System.Collections.Generic.IList DeprecatedApiNames { get; set; }
/// Description of how this metric is used and calculated.
[Newtonsoft.Json.JsonPropertyAttribute("description")]
public virtual string Description { get; set; }
///
/// The mathematical expression for this derived metric. Can be used in [Metric](#Metric)'s `expression` field
/// for equivalent reports. Most metrics are not expressions, and for non-expressions, this field is empty.
///
[Newtonsoft.Json.JsonPropertyAttribute("expression")]
public virtual string Expression { get; set; }
/// The type of this metric.
[Newtonsoft.Json.JsonPropertyAttribute("type")]
public virtual string Type { get; set; }
///
/// This metric's name within the Google Analytics user interface. For example, `Event count`.
///
[Newtonsoft.Json.JsonPropertyAttribute("uiName")]
public virtual string UiName { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// Sorts by metric values.
public class MetricOrderBy : Google.Apis.Requests.IDirectResponseSchema
{
/// A metric name in the request to order by.
[Newtonsoft.Json.JsonPropertyAttribute("metricName")]
public virtual string MetricName { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// The value of a metric.
public class MetricValue : Google.Apis.Requests.IDirectResponseSchema
{
/// Measurement value. See MetricHeader for type.
[Newtonsoft.Json.JsonPropertyAttribute("value")]
public virtual string Value { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// A contiguous set of minutes: `startMinutesAgo`, `startMinutesAgo + 1`, ..., `endMinutesAgo`. Requests are
/// allowed up to 2 minute ranges.
///
public class MinuteRange : Google.Apis.Requests.IDirectResponseSchema
{
///
/// The inclusive end minute for the query as a number of minutes before now. Cannot be before
/// `startMinutesAgo`. For example, `"endMinutesAgo": 15` specifies the report should include event data from
/// prior to 15 minutes ago. If unspecified, `endMinutesAgo` is defaulted to 0. Standard Analytics properties
/// can request any minute in the last 30 minutes of event data (`endMinutesAgo <= 29`), and 360
/// Analytics properties can request any minute in the last 60 minutes of event data (`endMinutesAgo <=
/// 59`).
///
[Newtonsoft.Json.JsonPropertyAttribute("endMinutesAgo")]
public virtual System.Nullable EndMinutesAgo { get; set; }
///
/// Assigns a name to this minute range. The dimension `dateRange` is valued to this name in a report response.
/// If set, cannot begin with `date_range_` or `RESERVED_`. If not set, minute ranges are named by their zero
/// based index in the request: `date_range_0`, `date_range_1`, etc.
///
[Newtonsoft.Json.JsonPropertyAttribute("name")]
public virtual string Name { get; set; }
///
/// The inclusive start minute for the query as a number of minutes before now. For example, `"startMinutesAgo":
/// 29` specifies the report should include event data from 29 minutes ago and after. Cannot be after
/// `endMinutesAgo`. If unspecified, `startMinutesAgo` is defaulted to 29. Standard Analytics properties can
/// request up to the last 30 minutes of event data (`startMinutesAgo <= 29`), and 360 Analytics
/// properties can request up to the last 60 minutes of event data (`startMinutesAgo <= 59`).
///
[Newtonsoft.Json.JsonPropertyAttribute("startMinutesAgo")]
public virtual System.Nullable StartMinutesAgo { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// Filters for numeric or date values.
public class NumericFilter : Google.Apis.Requests.IDirectResponseSchema
{
/// The operation type for this filter.
[Newtonsoft.Json.JsonPropertyAttribute("operation")]
public virtual string Operation { get; set; }
/// A numeric value or a date value.
[Newtonsoft.Json.JsonPropertyAttribute("value")]
public virtual NumericValue Value { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// To represent a number.
public class NumericValue : Google.Apis.Requests.IDirectResponseSchema
{
/// Double value
[Newtonsoft.Json.JsonPropertyAttribute("doubleValue")]
public virtual System.Nullable DoubleValue { get; set; }
/// Integer value
[Newtonsoft.Json.JsonPropertyAttribute("int64Value")]
public virtual System.Nullable Int64Value { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// This resource represents a long-running operation that is the result of a network API call.
public class Operation : Google.Apis.Requests.IDirectResponseSchema
{
///
/// If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed,
/// and either `error` or `response` is available.
///
[Newtonsoft.Json.JsonPropertyAttribute("done")]
public virtual System.Nullable Done { get; set; }
/// The error result of the operation in case of failure or cancellation.
[Newtonsoft.Json.JsonPropertyAttribute("error")]
public virtual Status Error { get; set; }
///
/// Service-specific metadata associated with the operation. It typically contains progress information and
/// common metadata such as create time. Some services might not provide such metadata. Any method that returns
/// a long-running operation should document the metadata type, if any.
///
[Newtonsoft.Json.JsonPropertyAttribute("metadata")]
public virtual System.Collections.Generic.IDictionary Metadata { get; set; }
///
/// The server-assigned name, which is only unique within the same service that originally returns it. If you
/// use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
///
[Newtonsoft.Json.JsonPropertyAttribute("name")]
public virtual string Name { get; set; }
///
/// The normal, successful response of the operation. If the original method returns no data on success, such as
/// `Delete`, the response is `google.protobuf.Empty`. If the original method is standard
/// `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have
/// the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is
/// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
///
[Newtonsoft.Json.JsonPropertyAttribute("response")]
public virtual System.Collections.Generic.IDictionary Response { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// Order bys define how rows will be sorted in the response. For example, ordering rows by descending event count
/// is one ordering, and ordering rows by the event name string is a different ordering.
///
public class OrderBy : Google.Apis.Requests.IDirectResponseSchema
{
/// If true, sorts by descending order.
[Newtonsoft.Json.JsonPropertyAttribute("desc")]
public virtual System.Nullable Desc { get; set; }
/// Sorts results by a dimension's values.
[Newtonsoft.Json.JsonPropertyAttribute("dimension")]
public virtual DimensionOrderBy Dimension { get; set; }
/// Sorts results by a metric's values.
[Newtonsoft.Json.JsonPropertyAttribute("metric")]
public virtual MetricOrderBy Metric { get; set; }
/// Sorts results by a metric's values within a pivot column group.
[Newtonsoft.Json.JsonPropertyAttribute("pivot")]
public virtual PivotOrderBy Pivot { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// Describes the visible dimension columns and rows in the report response.
public class Pivot : Google.Apis.Requests.IDirectResponseSchema
{
///
/// Dimension names for visible columns in the report response. Including "dateRange" produces a date range
/// column; for each row in the response, dimension values in the date range column will indicate the
/// corresponding date range from the request.
///
[Newtonsoft.Json.JsonPropertyAttribute("fieldNames")]
public virtual System.Collections.Generic.IList FieldNames { get; set; }
///
/// The number of unique combinations of dimension values to return in this pivot. The `limit` parameter is
/// required. A `limit` of 10,000 is common for single pivot requests. The product of the `limit` for each
/// `pivot` in a `RunPivotReportRequest` must not exceed 250,000. For example, a two pivot request with `limit:
/// 1000` in each pivot will fail because the product is `1,000,000`.
///
[Newtonsoft.Json.JsonPropertyAttribute("limit")]
public virtual System.Nullable Limit { get; set; }
///
/// Aggregate the metrics by dimensions in this pivot using the specified metric_aggregations.
///
[Newtonsoft.Json.JsonPropertyAttribute("metricAggregations")]
public virtual System.Collections.Generic.IList MetricAggregations { get; set; }
/// The row count of the start row. The first row is counted as row 0.
[Newtonsoft.Json.JsonPropertyAttribute("offset")]
public virtual System.Nullable Offset { get; set; }
///
/// Specifies how dimensions are ordered in the pivot. In the first Pivot, the OrderBys determine Row and
/// PivotDimensionHeader ordering; in subsequent Pivots, the OrderBys determine only PivotDimensionHeader
/// ordering. Dimensions specified in these OrderBys must be a subset of Pivot.field_names.
///
[Newtonsoft.Json.JsonPropertyAttribute("orderBys")]
public virtual System.Collections.Generic.IList OrderBys { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// Summarizes dimension values from a row for this pivot.
public class PivotDimensionHeader : Google.Apis.Requests.IDirectResponseSchema
{
/// Values of multiple dimensions in a pivot.
[Newtonsoft.Json.JsonPropertyAttribute("dimensionValues")]
public virtual System.Collections.Generic.IList DimensionValues { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// Dimensions' values in a single pivot.
public class PivotHeader : Google.Apis.Requests.IDirectResponseSchema
{
/// The size is the same as the cardinality of the corresponding dimension combinations.
[Newtonsoft.Json.JsonPropertyAttribute("pivotDimensionHeaders")]
public virtual System.Collections.Generic.IList PivotDimensionHeaders { get; set; }
///
/// The cardinality of the pivot. The total number of rows for this pivot's fields regardless of how the
/// parameters `offset` and `limit` are specified in the request.
///
[Newtonsoft.Json.JsonPropertyAttribute("rowCount")]
public virtual System.Nullable RowCount { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// Sorts by a pivot column group.
public class PivotOrderBy : Google.Apis.Requests.IDirectResponseSchema
{
///
/// In the response to order by, order rows by this column. Must be a metric name from the request.
///
[Newtonsoft.Json.JsonPropertyAttribute("metricName")]
public virtual string MetricName { get; set; }
///
/// Used to select a dimension name and value pivot. If multiple pivot selections are given, the sort occurs on
/// rows where all pivot selection dimension name and value pairs match the row's dimension name and value pair.
///
[Newtonsoft.Json.JsonPropertyAttribute("pivotSelections")]
public virtual System.Collections.Generic.IList PivotSelections { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// A pair of dimension names and values. Rows with this dimension pivot pair are ordered by the metric's value. For
/// example if pivots = {{"browser", "Chrome"}} and metric_name = "Sessions", then the rows will be sorted based on
/// Sessions in Chrome. ---------|----------|----------------|----------|---------------- | Chrome | Chrome | Safari
/// | Safari ---------|----------|----------------|----------|---------------- Country | Sessions | Pages/Sessions |
/// Sessions | Pages/Sessions ---------|----------|----------------|----------|---------------- US | 2 | 2 | 3 | 1
/// ---------|----------|----------------|----------|---------------- Canada | 3 | 1 | 4 | 1
/// ---------|----------|----------------|----------|----------------
///
public class PivotSelection : Google.Apis.Requests.IDirectResponseSchema
{
/// Must be a dimension name from the request.
[Newtonsoft.Json.JsonPropertyAttribute("dimensionName")]
public virtual string DimensionName { get; set; }
/// Order by only when the named dimension is this value.
[Newtonsoft.Json.JsonPropertyAttribute("dimensionValue")]
public virtual string DimensionValue { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// Current state of all quotas for this Analytics Property. If any quota for a property is exhausted, all requests
/// to that property will return Resource Exhausted errors.
///
public class PropertyQuota : Google.Apis.Requests.IDirectResponseSchema
{
///
/// Standard Analytics Properties can send up to 10 concurrent requests; Analytics 360 Properties can use up to
/// 50 concurrent requests.
///
[Newtonsoft.Json.JsonPropertyAttribute("concurrentRequests")]
public virtual QuotaStatus ConcurrentRequests { get; set; }
///
/// Analytics Properties can send up to 120 requests with potentially thresholded dimensions per hour. In a
/// batch request, each report request is individually counted for this quota if the request contains
/// potentially thresholded dimensions.
///
[Newtonsoft.Json.JsonPropertyAttribute("potentiallyThresholdedRequestsPerHour")]
public virtual QuotaStatus PotentiallyThresholdedRequestsPerHour { get; set; }
///
/// Standard Analytics Properties and cloud project pairs can have up to 10 server errors per hour; Analytics
/// 360 Properties and cloud project pairs can have up to 50 server errors per hour.
///
[Newtonsoft.Json.JsonPropertyAttribute("serverErrorsPerProjectPerHour")]
public virtual QuotaStatus ServerErrorsPerProjectPerHour { get; set; }
///
/// Standard Analytics Properties can use up to 200,000 tokens per day; Analytics 360 Properties can use
/// 2,000,000 tokens per day. Most requests consume fewer than 10 tokens.
///
[Newtonsoft.Json.JsonPropertyAttribute("tokensPerDay")]
public virtual QuotaStatus TokensPerDay { get; set; }
///
/// Standard Analytics Properties can use up to 40,000 tokens per hour; Analytics 360 Properties can use 400,000
/// tokens per hour. An API request consumes a single number of tokens, and that number is deducted from all of
/// the hourly, daily, and per project hourly quotas.
///
[Newtonsoft.Json.JsonPropertyAttribute("tokensPerHour")]
public virtual QuotaStatus TokensPerHour { get; set; }
///
/// Analytics Properties can use up to 35% of their tokens per project per hour. This amounts to standard
/// Analytics Properties can use up to 14,000 tokens per project per hour, and Analytics 360 Properties can use
/// 140,000 tokens per project per hour. An API request consumes a single number of tokens, and that number is
/// deducted from all of the hourly, daily, and per project hourly quotas.
///
[Newtonsoft.Json.JsonPropertyAttribute("tokensPerProjectPerHour")]
public virtual QuotaStatus TokensPerProjectPerHour { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// A request to list users in an audience export.
public class QueryAudienceExportRequest : Google.Apis.Requests.IDirectResponseSchema
{
///
/// Optional. The number of rows to return. If unspecified, 10,000 rows are returned. The API returns a maximum
/// of 250,000 rows per request, no matter how many you ask for. `limit` must be positive. The API can also
/// return fewer rows than the requested `limit`, if there aren't as many dimension values as the `limit`. To
/// learn more about this pagination parameter, see
/// [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
///
[Newtonsoft.Json.JsonPropertyAttribute("limit")]
public virtual System.Nullable Limit { get; set; }
///
/// Optional. The row count of the start row. The first row is counted as row 0. When paging, the first request
/// does not specify offset; or equivalently, sets offset to 0; the first request returns the first `limit` of
/// rows. The second request sets offset to the `limit` of the first request; the second request returns the
/// second `limit` of rows. To learn more about this pagination parameter, see
/// [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
///
[Newtonsoft.Json.JsonPropertyAttribute("offset")]
public virtual System.Nullable Offset { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// A list of users in an audience export.
public class QueryAudienceExportResponse : Google.Apis.Requests.IDirectResponseSchema
{
///
/// Configuration data about AudienceExport being queried. Returned to help interpret the audience rows in this
/// response. For example, the dimensions in this AudienceExport correspond to the columns in the AudienceRows.
///
[Newtonsoft.Json.JsonPropertyAttribute("audienceExport")]
public virtual AudienceExport AudienceExport { get; set; }
///
/// Rows for each user in an audience export. The number of rows in this response will be less than or equal to
/// request's page size.
///
[Newtonsoft.Json.JsonPropertyAttribute("audienceRows")]
public virtual System.Collections.Generic.IList AudienceRows { get; set; }
///
/// The total number of rows in the AudienceExport result. `rowCount` is independent of the number of rows
/// returned in the response, the `limit` request parameter, and the `offset` request parameter. For example if
/// a query returns 175 rows and includes `limit` of 50 in the API request, the response will contain `rowCount`
/// of 175 but only 50 rows. To learn more about this pagination parameter, see
/// [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
///
[Newtonsoft.Json.JsonPropertyAttribute("rowCount")]
public virtual System.Nullable RowCount { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// Current state for a particular quota group.
public class QuotaStatus : Google.Apis.Requests.IDirectResponseSchema
{
/// Quota consumed by this request.
[Newtonsoft.Json.JsonPropertyAttribute("consumed")]
public virtual System.Nullable Consumed { get; set; }
/// Quota remaining after this request.
[Newtonsoft.Json.JsonPropertyAttribute("remaining")]
public virtual System.Nullable Remaining { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// Response's metadata carrying additional information about the report content.
public class ResponseMetaData : Google.Apis.Requests.IDirectResponseSchema
{
///
/// The currency code used in this report. Intended to be used in formatting currency metrics like
/// `purchaseRevenue` for visualization. If currency_code was specified in the request, this response parameter
/// will echo the request parameter; otherwise, this response parameter is the property's current currency_code.
/// Currency codes are string encodings of currency types from the ISO 4217 standard
/// (https://en.wikipedia.org/wiki/ISO_4217); for example "USD", "EUR", "JPY". To learn more, see
/// https://support.google.com/analytics/answer/9796179.
///
[Newtonsoft.Json.JsonPropertyAttribute("currencyCode")]
public virtual string CurrencyCode { get; set; }
///
/// If true, indicates some buckets of dimension combinations are rolled into "(other)" row. This can happen for
/// high cardinality reports. The metadata parameter dataLossFromOtherRow is populated based on the aggregated
/// data table used in the report. The parameter will be accurately populated regardless of the filters and
/// limits in the report. For example, the (other) row could be dropped from the report because the request
/// contains a filter on sessionSource = google. This parameter will still be populated if data loss from other
/// row was present in the input aggregate data used to generate this report. To learn more, see [About the
/// (other) row and data sampling](https://support.google.com/analytics/answer/13208658#reports).
///
[Newtonsoft.Json.JsonPropertyAttribute("dataLossFromOtherRow")]
public virtual System.Nullable DataLossFromOtherRow { get; set; }
/// If empty reason is specified, the report is empty for this reason.
[Newtonsoft.Json.JsonPropertyAttribute("emptyReason")]
public virtual string EmptyReason { get; set; }
///
/// If this report results is [sampled](https://support.google.com/analytics/answer/13331292), this describes
/// the percentage of events used in this report. One `samplingMetadatas` is populated for each date range. Each
/// `samplingMetadatas` corresponds to a date range in order that date ranges were specified in the request.
/// However if the results are not sampled, this field will not be defined.
///
[Newtonsoft.Json.JsonPropertyAttribute("samplingMetadatas")]
public virtual System.Collections.Generic.IList SamplingMetadatas { get; set; }
///
/// Describes the schema restrictions actively enforced in creating this report. To learn more, see [Access and
/// data-restriction management](https://support.google.com/analytics/answer/10851388).
///
[Newtonsoft.Json.JsonPropertyAttribute("schemaRestrictionResponse")]
public virtual SchemaRestrictionResponse SchemaRestrictionResponse { get; set; }
///
/// If `subjectToThresholding` is true, this report is subject to thresholding and only returns data that meets
/// the minimum aggregation thresholds. It is possible for a request to be subject to thresholding thresholding
/// and no data is absent from the report, and this happens when all data is above the thresholds. To learn
/// more, see [Data thresholds](https://support.google.com/analytics/answer/9383630).
///
[Newtonsoft.Json.JsonPropertyAttribute("subjectToThresholding")]
public virtual System.Nullable SubjectToThresholding { get; set; }
///
/// The property's current timezone. Intended to be used to interpret time-based dimensions like `hour` and
/// `minute`. Formatted as strings from the IANA Time Zone database (https://www.iana.org/time-zones); for
/// example "America/New_York" or "Asia/Tokyo".
///
[Newtonsoft.Json.JsonPropertyAttribute("timeZone")]
public virtual string TimeZone { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// Report data for each row. For example if RunReportRequest contains:
/// ```
/// none "dimensions": [ { "name":
/// "eventName" }, { "name": "countryId" } ], "metrics": [ { "name": "eventCount" } ]
/// ```
/// One row with
/// 'in_app_purchase' as the eventName, 'JP' as the countryId, and 15 as the eventCount, would be:
/// ```
/// none
/// "dimensionValues": [ { "value": "in_app_purchase" }, { "value": "JP" } ], "metricValues": [ { "value": "15" } ]
/// ```
///
public class Row : Google.Apis.Requests.IDirectResponseSchema
{
///
/// List of requested dimension values. In a PivotReport, dimension_values are only listed for dimensions
/// included in a pivot.
///
[Newtonsoft.Json.JsonPropertyAttribute("dimensionValues")]
public virtual System.Collections.Generic.IList DimensionValues { get; set; }
/// List of requested visible metric values.
[Newtonsoft.Json.JsonPropertyAttribute("metricValues")]
public virtual System.Collections.Generic.IList MetricValues { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// The request to generate a pivot report.
public class RunPivotReportRequest : Google.Apis.Requests.IDirectResponseSchema
{
///
/// Cohort group associated with this request. If there is a cohort group in the request the 'cohort' dimension
/// must be present.
///
[Newtonsoft.Json.JsonPropertyAttribute("cohortSpec")]
public virtual CohortSpec CohortSpec { get; set; }
///
/// Optional. The configuration of comparisons requested and displayed. The request requires both a comparisons
/// field and a comparisons dimension to receive a comparison column in the response.
///
[Newtonsoft.Json.JsonPropertyAttribute("comparisons")]
public virtual System.Collections.Generic.IList Comparisons { get; set; }
///
/// A currency code in ISO4217 format, such as "AED", "USD", "JPY". If the field is empty, the report uses the
/// property's default currency.
///
[Newtonsoft.Json.JsonPropertyAttribute("currencyCode")]
public virtual string CurrencyCode { get; set; }
///
/// The date range to retrieve event data for the report. If multiple date ranges are specified, event data from
/// each date range is used in the report. A special dimension with field name "dateRange" can be included in a
/// Pivot's field names; if included, the report compares between date ranges. In a cohort request, this
/// `dateRanges` must be unspecified.
///
[Newtonsoft.Json.JsonPropertyAttribute("dateRanges")]
public virtual System.Collections.Generic.IList DateRanges { get; set; }
///
/// The filter clause of dimensions. Dimensions must be requested to be used in this filter. Metrics cannot be
/// used in this filter.
///
[Newtonsoft.Json.JsonPropertyAttribute("dimensionFilter")]
public virtual FilterExpression DimensionFilter { get; set; }
///
/// The dimensions requested. All defined dimensions must be used by one of the following: dimension_expression,
/// dimension_filter, pivots, order_bys.
///
[Newtonsoft.Json.JsonPropertyAttribute("dimensions")]
public virtual System.Collections.Generic.IList Dimensions { get; set; }
///
/// If false or unspecified, each row with all metrics equal to 0 will not be returned. If true, these rows will
/// be returned if they are not separately removed by a filter. Regardless of this `keep_empty_rows` setting,
/// only data recorded by the Google Analytics property can be displayed in a report. For example if a property
/// never logs a `purchase` event, then a query for the `eventName` dimension and `eventCount` metric will not
/// have a row eventName: "purchase" and eventCount: 0.
///
[Newtonsoft.Json.JsonPropertyAttribute("keepEmptyRows")]
public virtual System.Nullable KeepEmptyRows { get; set; }
///
/// The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Metrics must
/// be requested to be used in this filter. Dimensions cannot be used in this filter.
///
[Newtonsoft.Json.JsonPropertyAttribute("metricFilter")]
public virtual FilterExpression MetricFilter { get; set; }
///
/// The metrics requested, at least one metric needs to be specified. All defined metrics must be used by one of
/// the following: metric_expression, metric_filter, order_bys.
///
[Newtonsoft.Json.JsonPropertyAttribute("metrics")]
public virtual System.Collections.Generic.IList Metrics { get; set; }
///
/// Describes the visual format of the report's dimensions in columns or rows. The union of the fieldNames
/// (dimension names) in all pivots must be a subset of dimension names defined in Dimensions. No two pivots can
/// share a dimension. A dimension is only visible if it appears in a pivot.
///
[Newtonsoft.Json.JsonPropertyAttribute("pivots")]
public virtual System.Collections.Generic.IList Pivots { get; set; }
///
/// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body.
/// To learn more, see [where to find your Property
/// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Within a batch
/// request, this property should either be unspecified or consistent with the batch-level property. Example:
/// properties/1234
///
[Newtonsoft.Json.JsonPropertyAttribute("property")]
public virtual string Property { get; set; }
///
/// Toggles whether to return the current state of this Google Analytics property's quota. Quota is returned in
/// [PropertyQuota](#PropertyQuota).
///
[Newtonsoft.Json.JsonPropertyAttribute("returnPropertyQuota")]
public virtual System.Nullable ReturnPropertyQuota { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// The response pivot report table corresponding to a pivot request.
public class RunPivotReportResponse : Google.Apis.Requests.IDirectResponseSchema
{
///
/// Aggregation of metric values. Can be totals, minimums, or maximums. The returned aggregations are controlled
/// by the metric_aggregations in the pivot. The type of aggregation returned in each row is shown by the
/// dimension_values which are set to "RESERVED_".
///
[Newtonsoft.Json.JsonPropertyAttribute("aggregates")]
public virtual System.Collections.Generic.IList Aggregates { get; set; }
///
/// Describes dimension columns. The number of DimensionHeaders and ordering of DimensionHeaders matches the
/// dimensions present in rows.
///
[Newtonsoft.Json.JsonPropertyAttribute("dimensionHeaders")]
public virtual System.Collections.Generic.IList DimensionHeaders { get; set; }
///
/// Identifies what kind of resource this message is. This `kind` is always the fixed string
/// "analyticsData#runPivotReport". Useful to distinguish between response types in JSON.
///
[Newtonsoft.Json.JsonPropertyAttribute("kind")]
public virtual string Kind { get; set; }
/// Metadata for the report.
[Newtonsoft.Json.JsonPropertyAttribute("metadata")]
public virtual ResponseMetaData Metadata { get; set; }
///
/// Describes metric columns. The number of MetricHeaders and ordering of MetricHeaders matches the metrics
/// present in rows.
///
[Newtonsoft.Json.JsonPropertyAttribute("metricHeaders")]
public virtual System.Collections.Generic.IList MetricHeaders { get; set; }
///
/// Summarizes the columns and rows created by a pivot. Each pivot in the request produces one header in the
/// response. If we have a request like this: "pivots": [{ "fieldNames": ["country", "city"] }, { "fieldNames":
/// "eventName" }] We will have the following `pivotHeaders` in the response: "pivotHeaders" : [{
/// "dimensionHeaders": [{ "dimensionValues": [ { "value": "United Kingdom" }, { "value": "London" } ] }, {
/// "dimensionValues": [ { "value": "Japan" }, { "value": "Osaka" } ] }] }, { "dimensionHeaders": [{
/// "dimensionValues": [{ "value": "session_start" }] }, { "dimensionValues": [{ "value": "scroll" }] }] }]
///
[Newtonsoft.Json.JsonPropertyAttribute("pivotHeaders")]
public virtual System.Collections.Generic.IList PivotHeaders { get; set; }
/// This Google Analytics property's quota state including this request.
[Newtonsoft.Json.JsonPropertyAttribute("propertyQuota")]
public virtual PropertyQuota PropertyQuota { get; set; }
/// Rows of dimension value combinations and metric values in the report.
[Newtonsoft.Json.JsonPropertyAttribute("rows")]
public virtual System.Collections.Generic.IList Rows { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// The request to generate a realtime report.
public class RunRealtimeReportRequest : Google.Apis.Requests.IDirectResponseSchema
{
/// The filter clause of dimensions. Metrics cannot be used in this filter.
[Newtonsoft.Json.JsonPropertyAttribute("dimensionFilter")]
public virtual FilterExpression DimensionFilter { get; set; }
/// The dimensions requested and displayed.
[Newtonsoft.Json.JsonPropertyAttribute("dimensions")]
public virtual System.Collections.Generic.IList Dimensions { get; set; }
///
/// The number of rows to return. If unspecified, 10,000 rows are returned. The API returns a maximum of 250,000
/// rows per request, no matter how many you ask for. `limit` must be positive. The API can also return fewer
/// rows than the requested `limit`, if there aren't as many dimension values as the `limit`. For instance,
/// there are fewer than 300 possible values for the dimension `country`, so when reporting on only `country`,
/// you can't get more than 300 rows, even if you set `limit` to a higher value.
///
[Newtonsoft.Json.JsonPropertyAttribute("limit")]
public virtual System.Nullable Limit { get; set; }
///
/// Aggregation of metrics. Aggregated metric values will be shown in rows where the dimension_values are set to
/// "RESERVED_(MetricAggregation)".
///
[Newtonsoft.Json.JsonPropertyAttribute("metricAggregations")]
public virtual System.Collections.Generic.IList MetricAggregations { get; set; }
///
/// The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Dimensions
/// cannot be used in this filter.
///
[Newtonsoft.Json.JsonPropertyAttribute("metricFilter")]
public virtual FilterExpression MetricFilter { get; set; }
/// The metrics requested and displayed.
[Newtonsoft.Json.JsonPropertyAttribute("metrics")]
public virtual System.Collections.Generic.IList Metrics { get; set; }
///
/// The minute ranges of event data to read. If unspecified, one minute range for the last 30 minutes will be
/// used. If multiple minute ranges are requested, each response row will contain a zero based minute range
/// index. If two minute ranges overlap, the event data for the overlapping minutes is included in the response
/// rows for both minute ranges.
///
[Newtonsoft.Json.JsonPropertyAttribute("minuteRanges")]
public virtual System.Collections.Generic.IList MinuteRanges { get; set; }
/// Specifies how rows are ordered in the response.
[Newtonsoft.Json.JsonPropertyAttribute("orderBys")]
public virtual System.Collections.Generic.IList OrderBys { get; set; }
///
/// Toggles whether to return the current state of this Google Analytics property's Realtime quota. Quota is
/// returned in [PropertyQuota](#PropertyQuota).
///
[Newtonsoft.Json.JsonPropertyAttribute("returnPropertyQuota")]
public virtual System.Nullable ReturnPropertyQuota { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// The response realtime report table corresponding to a request.
public class RunRealtimeReportResponse : Google.Apis.Requests.IDirectResponseSchema
{
///
/// Describes dimension columns. The number of DimensionHeaders and ordering of DimensionHeaders matches the
/// dimensions present in rows.
///
[Newtonsoft.Json.JsonPropertyAttribute("dimensionHeaders")]
public virtual System.Collections.Generic.IList DimensionHeaders { get; set; }
///
/// Identifies what kind of resource this message is. This `kind` is always the fixed string
/// "analyticsData#runRealtimeReport". Useful to distinguish between response types in JSON.
///
[Newtonsoft.Json.JsonPropertyAttribute("kind")]
public virtual string Kind { get; set; }
/// If requested, the maximum values of metrics.
[Newtonsoft.Json.JsonPropertyAttribute("maximums")]
public virtual System.Collections.Generic.IList Maximums { get; set; }
///
/// Describes metric columns. The number of MetricHeaders and ordering of MetricHeaders matches the metrics
/// present in rows.
///
[Newtonsoft.Json.JsonPropertyAttribute("metricHeaders")]
public virtual System.Collections.Generic.IList MetricHeaders { get; set; }
/// If requested, the minimum values of metrics.
[Newtonsoft.Json.JsonPropertyAttribute("minimums")]
public virtual System.Collections.Generic.IList Minimums { get; set; }
/// This Google Analytics property's Realtime quota state including this request.
[Newtonsoft.Json.JsonPropertyAttribute("propertyQuota")]
public virtual PropertyQuota PropertyQuota { get; set; }
///
/// The total number of rows in the query result. `rowCount` is independent of the number of rows returned in
/// the response and the `limit` request parameter. For example if a query returns 175 rows and includes `limit`
/// of 50 in the API request, the response will contain `rowCount` of 175 but only 50 rows.
///
[Newtonsoft.Json.JsonPropertyAttribute("rowCount")]
public virtual System.Nullable RowCount { get; set; }
/// Rows of dimension value combinations and metric values in the report.
[Newtonsoft.Json.JsonPropertyAttribute("rows")]
public virtual System.Collections.Generic.IList Rows { get; set; }
/// If requested, the totaled values of metrics.
[Newtonsoft.Json.JsonPropertyAttribute("totals")]
public virtual System.Collections.Generic.IList Totals { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// The request to generate a report.
public class RunReportRequest : Google.Apis.Requests.IDirectResponseSchema
{
///
/// Cohort group associated with this request. If there is a cohort group in the request the 'cohort' dimension
/// must be present.
///
[Newtonsoft.Json.JsonPropertyAttribute("cohortSpec")]
public virtual CohortSpec CohortSpec { get; set; }
///
/// Optional. The configuration of comparisons requested and displayed. The request only requires a comparisons
/// field in order to receive a comparison column in the response.
///
[Newtonsoft.Json.JsonPropertyAttribute("comparisons")]
public virtual System.Collections.Generic.IList Comparisons { get; set; }
///
/// A currency code in ISO4217 format, such as "AED", "USD", "JPY". If the field is empty, the report uses the
/// property's default currency.
///
[Newtonsoft.Json.JsonPropertyAttribute("currencyCode")]
public virtual string CurrencyCode { get; set; }
///
/// Date ranges of data to read. If multiple date ranges are requested, each response row will contain a zero
/// based date range index. If two date ranges overlap, the event data for the overlapping days is included in
/// the response rows for both date ranges. In a cohort request, this `dateRanges` must be unspecified.
///
[Newtonsoft.Json.JsonPropertyAttribute("dateRanges")]
public virtual System.Collections.Generic.IList DateRanges { get; set; }
///
/// Dimension filters let you ask for only specific dimension values in the report. To learn more, see
/// [Fundamentals of Dimension
/// Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) for
/// examples. Metrics cannot be used in this filter.
///
[Newtonsoft.Json.JsonPropertyAttribute("dimensionFilter")]
public virtual FilterExpression DimensionFilter { get; set; }
/// The dimensions requested and displayed.
[Newtonsoft.Json.JsonPropertyAttribute("dimensions")]
public virtual System.Collections.Generic.IList Dimensions { get; set; }
///
/// If false or unspecified, each row with all metrics equal to 0 will not be returned. If true, these rows will
/// be returned if they are not separately removed by a filter. Regardless of this `keep_empty_rows` setting,
/// only data recorded by the Google Analytics property can be displayed in a report. For example if a property
/// never logs a `purchase` event, then a query for the `eventName` dimension and `eventCount` metric will not
/// have a row eventName: "purchase" and eventCount: 0.
///
[Newtonsoft.Json.JsonPropertyAttribute("keepEmptyRows")]
public virtual System.Nullable KeepEmptyRows { get; set; }
///
/// The number of rows to return. If unspecified, 10,000 rows are returned. The API returns a maximum of 250,000
/// rows per request, no matter how many you ask for. `limit` must be positive. The API can also return fewer
/// rows than the requested `limit`, if there aren't as many dimension values as the `limit`. For instance,
/// there are fewer than 300 possible values for the dimension `country`, so when reporting on only `country`,
/// you can't get more than 300 rows, even if you set `limit` to a higher value. To learn more about this
/// pagination parameter, see
/// [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
///
[Newtonsoft.Json.JsonPropertyAttribute("limit")]
public virtual System.Nullable Limit { get; set; }
///
/// Aggregation of metrics. Aggregated metric values will be shown in rows where the dimension_values are set to
/// "RESERVED_(MetricAggregation)". Aggregates including both comparisons and multiple date ranges will be
/// aggregated based on the date ranges.
///
[Newtonsoft.Json.JsonPropertyAttribute("metricAggregations")]
public virtual System.Collections.Generic.IList MetricAggregations { get; set; }
///
/// The filter clause of metrics. Applied after aggregating the report's rows, similar to SQL having-clause.
/// Dimensions cannot be used in this filter.
///
[Newtonsoft.Json.JsonPropertyAttribute("metricFilter")]
public virtual FilterExpression MetricFilter { get; set; }
/// The metrics requested and displayed.
[Newtonsoft.Json.JsonPropertyAttribute("metrics")]
public virtual System.Collections.Generic.IList Metrics { get; set; }
///
/// The row count of the start row. The first row is counted as row 0. When paging, the first request does not
/// specify offset; or equivalently, sets offset to 0; the first request returns the first `limit` of rows. The
/// second request sets offset to the `limit` of the first request; the second request returns the second
/// `limit` of rows. To learn more about this pagination parameter, see
/// [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
///
[Newtonsoft.Json.JsonPropertyAttribute("offset")]
public virtual System.Nullable Offset { get; set; }
///
/// Specifies how rows are ordered in the response. Requests including both comparisons and multiple date ranges
/// will have order bys applied on the comparisons.
///
[Newtonsoft.Json.JsonPropertyAttribute("orderBys")]
public virtual System.Collections.Generic.IList OrderBys { get; set; }
///
/// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body.
/// To learn more, see [where to find your Property
/// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Within a batch
/// request, this property should either be unspecified or consistent with the batch-level property. Example:
/// properties/1234
///
[Newtonsoft.Json.JsonPropertyAttribute("property")]
public virtual string Property { get; set; }
///
/// Toggles whether to return the current state of this Google Analytics property's quota. Quota is returned in
/// [PropertyQuota](#PropertyQuota).
///
[Newtonsoft.Json.JsonPropertyAttribute("returnPropertyQuota")]
public virtual System.Nullable ReturnPropertyQuota { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// The response report table corresponding to a request.
public class RunReportResponse : Google.Apis.Requests.IDirectResponseSchema
{
///
/// Describes dimension columns. The number of DimensionHeaders and ordering of DimensionHeaders matches the
/// dimensions present in rows.
///
[Newtonsoft.Json.JsonPropertyAttribute("dimensionHeaders")]
public virtual System.Collections.Generic.IList DimensionHeaders { get; set; }
///
/// Identifies what kind of resource this message is. This `kind` is always the fixed string
/// "analyticsData#runReport". Useful to distinguish between response types in JSON.
///
[Newtonsoft.Json.JsonPropertyAttribute("kind")]
public virtual string Kind { get; set; }
/// If requested, the maximum values of metrics.
[Newtonsoft.Json.JsonPropertyAttribute("maximums")]
public virtual System.Collections.Generic.IList Maximums { get; set; }
/// Metadata for the report.
[Newtonsoft.Json.JsonPropertyAttribute("metadata")]
public virtual ResponseMetaData Metadata { get; set; }
///
/// Describes metric columns. The number of MetricHeaders and ordering of MetricHeaders matches the metrics
/// present in rows.
///
[Newtonsoft.Json.JsonPropertyAttribute("metricHeaders")]
public virtual System.Collections.Generic.IList MetricHeaders { get; set; }
/// If requested, the minimum values of metrics.
[Newtonsoft.Json.JsonPropertyAttribute("minimums")]
public virtual System.Collections.Generic.IList Minimums { get; set; }
/// This Google Analytics property's quota state including this request.
[Newtonsoft.Json.JsonPropertyAttribute("propertyQuota")]
public virtual PropertyQuota PropertyQuota { get; set; }
///
/// The total number of rows in the query result. `rowCount` is independent of the number of rows returned in
/// the response, the `limit` request parameter, and the `offset` request parameter. For example if a query
/// returns 175 rows and includes `limit` of 50 in the API request, the response will contain `rowCount` of 175
/// but only 50 rows. To learn more about this pagination parameter, see
/// [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
///
[Newtonsoft.Json.JsonPropertyAttribute("rowCount")]
public virtual System.Nullable RowCount { get; set; }
/// Rows of dimension value combinations and metric values in the report.
[Newtonsoft.Json.JsonPropertyAttribute("rows")]
public virtual System.Collections.Generic.IList Rows { get; set; }
/// If requested, the totaled values of metrics.
[Newtonsoft.Json.JsonPropertyAttribute("totals")]
public virtual System.Collections.Generic.IList Totals { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// If this report results is [sampled](https://support.google.com/analytics/answer/13331292), this describes the
/// percentage of events used in this report. Sampling is the practice of analyzing a subset of all data in order to
/// uncover the meaningful information in the larger data set.
///
public class SamplingMetadata : Google.Apis.Requests.IDirectResponseSchema
{
///
/// The total number of events read in this sampled report for a date range. This is the size of the subset this
/// property's data that was analyzed in this report.
///
[Newtonsoft.Json.JsonPropertyAttribute("samplesReadCount")]
public virtual System.Nullable SamplesReadCount { get; set; }
///
/// The total number of events present in this property's data that could have been analyzed in this report for
/// a date range. Sampling uncovers the meaningful information about the larger data set, and this is the size
/// of the larger data set. To calculate the percentage of available data that was used in this report, compute
/// `samplesReadCount/samplingSpaceSize`.
///
[Newtonsoft.Json.JsonPropertyAttribute("samplingSpaceSize")]
public virtual System.Nullable SamplingSpaceSize { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// The schema restrictions actively enforced in creating this report. To learn more, see [Access and
/// data-restriction management](https://support.google.com/analytics/answer/10851388).
///
public class SchemaRestrictionResponse : Google.Apis.Requests.IDirectResponseSchema
{
///
/// All restrictions actively enforced in creating the report. For example, `purchaseRevenue` always has the
/// restriction type `REVENUE_DATA`. However, this active response restriction is only populated if the user's
/// custom role disallows access to `REVENUE_DATA`.
///
[Newtonsoft.Json.JsonPropertyAttribute("activeMetricRestrictions")]
public virtual System.Collections.Generic.IList ActiveMetricRestrictions { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// The `Status` type defines a logical error model that is suitable for different programming environments,
/// including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains
/// three pieces of data: error code, error message, and error details. You can find out more about this error model
/// and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).
///
public class Status : Google.Apis.Requests.IDirectResponseSchema
{
/// The status code, which should be an enum value of google.rpc.Code.
[Newtonsoft.Json.JsonPropertyAttribute("code")]
public virtual System.Nullable Code { get; set; }
///
/// A list of messages that carry the error details. There is a common set of message types for APIs to use.
///
[Newtonsoft.Json.JsonPropertyAttribute("details")]
public virtual System.Collections.Generic.IList> Details { get; set; }
///
/// A developer-facing error message, which should be in English. Any user-facing error message should be
/// localized and sent in the google.rpc.Status.details field, or localized by the client.
///
[Newtonsoft.Json.JsonPropertyAttribute("message")]
public virtual string Message { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// The filter for string
public class StringFilter : Google.Apis.Requests.IDirectResponseSchema
{
/// If true, the string value is case sensitive.
[Newtonsoft.Json.JsonPropertyAttribute("caseSensitive")]
public virtual System.Nullable CaseSensitive { get; set; }
/// The match type for this filter.
[Newtonsoft.Json.JsonPropertyAttribute("matchType")]
public virtual string MatchType { get; set; }
/// The string value used for the matching.
[Newtonsoft.Json.JsonPropertyAttribute("value")]
public virtual string Value { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
///
/// An audience dimension is a user attribute. Specific user attributed are requested and then later returned in the
/// `QueryAudienceExportResponse`.
///
public class V1betaAudienceDimension : Google.Apis.Requests.IDirectResponseSchema
{
///
/// Optional. The API name of the dimension. See the [API
/// Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-api-schema#dimensions)
/// for the list of dimension names.
///
[Newtonsoft.Json.JsonPropertyAttribute("dimensionName")]
public virtual string DimensionName { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// The value of a dimension.
public class V1betaAudienceDimensionValue : Google.Apis.Requests.IDirectResponseSchema
{
/// Value as a string if the dimension type is a string.
[Newtonsoft.Json.JsonPropertyAttribute("value")]
public virtual string Value { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
/// Dimension value attributes for the audience user row.
public class V1betaAudienceRow : Google.Apis.Requests.IDirectResponseSchema
{
///
/// Each dimension value attribute for an audience user. One dimension value will be added for each dimension
/// column requested.
///
[Newtonsoft.Json.JsonPropertyAttribute("dimensionValues")]
public virtual System.Collections.Generic.IList DimensionValues { get; set; }
/// The ETag of the item.
public virtual string ETag { get; set; }
}
}