Index: generated/googleapis/lib/analytics/v3.dart |
diff --git a/generated/googleapis/lib/analytics/v3.dart b/generated/googleapis/lib/analytics/v3.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..efc3d33cb6ac9081e5dd5b4df609f2cebf325371 |
--- /dev/null |
+++ b/generated/googleapis/lib/analytics/v3.dart |
@@ -0,0 +1,11595 @@ |
+library googleapis.analytics.v3; |
+ |
+import "dart:core" as core; |
+import "dart:collection" as collection; |
+import "dart:async" as async; |
+import "dart:convert" as convert; |
+ |
+import "package:crypto/crypto.dart" as crypto; |
+import 'package:http/http.dart' as http; |
+import '../src/common_internal.dart' as common_internal; |
+import '../common/common.dart' as common; |
+ |
+export '../common/common.dart' show ApiRequestError; |
+export '../common/common.dart' show DetailedApiRequestError; |
+ |
+/** View and manage your Google Analytics data */ |
+class AnalyticsApi { |
+ /** View and manage your Google Analytics data */ |
+ static const AnalyticsScope = "https://www.googleapis.com/auth/analytics"; |
+ |
+ /** Edit Google Analytics management entities */ |
+ static const AnalyticsEditScope = "https://www.googleapis.com/auth/analytics.edit"; |
+ |
+ /** Manage Google Analytics Account users by email address */ |
+ static const AnalyticsManageUsersScope = "https://www.googleapis.com/auth/analytics.manage.users"; |
+ |
+ /** |
+ * Create a new Google Analytics account along with its default property and |
+ * view |
+ */ |
+ static const AnalyticsProvisionScope = "https://www.googleapis.com/auth/analytics.provision"; |
+ |
+ /** View your Google Analytics data */ |
+ static const AnalyticsReadonlyScope = "https://www.googleapis.com/auth/analytics.readonly"; |
+ |
+ |
+ final common_internal.ApiRequester _requester; |
+ |
+ DataResourceApi get data => new DataResourceApi(_requester); |
+ ManagementResourceApi get management => new ManagementResourceApi(_requester); |
+ MetadataResourceApi get metadata => new MetadataResourceApi(_requester); |
+ ProvisioningResourceApi get provisioning => new ProvisioningResourceApi(_requester); |
+ |
+ AnalyticsApi(http.Client client) : |
+ _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/analytics/v3/"); |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class DataResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ DataGaResourceApi get ga => new DataGaResourceApi(_requester); |
+ DataMcfResourceApi get mcf => new DataMcfResourceApi(_requester); |
+ DataRealtimeResourceApi get realtime => new DataRealtimeResourceApi(_requester); |
+ |
+ DataResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class DataGaResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ DataGaResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Returns Analytics data for a view (profile). |
+ * |
+ * Request parameters: |
+ * |
+ * [ids] - Unique table ID for retrieving Analytics data. Table ID is of the |
+ * form ga:XXXX, where XXXX is the Analytics view (profile) ID. |
+ * Value must have pattern "ga:[0-9]+". |
+ * |
+ * [start_date] - Start date for fetching Analytics data. Requests can specify |
+ * a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, |
+ * yesterday, or 7daysAgo). The default value is 7daysAgo. |
+ * Value must have pattern |
+ * "[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)". |
+ * |
+ * [end_date] - End date for fetching Analytics data. Request can should |
+ * specify an end date formatted as YYYY-MM-DD, or as a relative date (e.g., |
+ * today, yesterday, or 7daysAgo). The default value is yesterday. |
+ * Value must have pattern |
+ * "[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)". |
+ * |
+ * [metrics] - A comma-separated list of Analytics metrics. E.g., |
+ * 'ga:sessions,ga:pageviews'. At least one metric must be specified. |
+ * Value must have pattern "ga:.+". |
+ * |
+ * [dimensions] - A comma-separated list of Analytics dimensions. E.g., |
+ * 'ga:browser,ga:city'. |
+ * Value must have pattern "(ga:.+)?". |
+ * |
+ * [filters] - A comma-separated list of dimension or metric filters to be |
+ * applied to Analytics data. |
+ * Value must have pattern "ga:.+". |
+ * |
+ * [max_results] - The maximum number of entries to include in this feed. |
+ * |
+ * [output] - The selected format for the response. Default format is JSON. |
+ * Possible string values are: |
+ * - "dataTable" : Returns the response in Google Charts Data Table format. |
+ * This is useful in creating visualization using Google Charts. |
+ * - "json" : Returns the response in standard JSON format. |
+ * |
+ * [samplingLevel] - The desired sampling level. |
+ * Possible string values are: |
+ * - "DEFAULT" : Returns response with a sample size that balances speed and |
+ * accuracy. |
+ * - "FASTER" : Returns a fast response with a smaller sample size. |
+ * - "HIGHER_PRECISION" : Returns a more accurate response using a large |
+ * sample size, but this may result in the response being slower. |
+ * |
+ * [segment] - An Analytics segment to be applied to data. |
+ * |
+ * [sort] - A comma-separated list of dimensions or metrics that determine the |
+ * sort order for Analytics data. |
+ * Value must have pattern "(-)?ga:.+". |
+ * |
+ * [start_index] - An index of the first entity to retrieve. Use this |
+ * parameter as a pagination mechanism along with the max-results parameter. |
+ * |
+ * Completes with a [GaData]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<GaData> get(core.String ids, core.String start_date, core.String end_date, core.String metrics, {core.String dimensions, core.String filters, core.int max_results, core.String output, core.String samplingLevel, core.String segment, core.String sort, core.int start_index}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (ids == null) { |
+ throw new core.ArgumentError("Parameter ids is required."); |
+ } |
+ _queryParams["ids"] = [ids]; |
+ if (start_date == null) { |
+ throw new core.ArgumentError("Parameter start_date is required."); |
+ } |
+ _queryParams["start-date"] = [start_date]; |
+ if (end_date == null) { |
+ throw new core.ArgumentError("Parameter end_date is required."); |
+ } |
+ _queryParams["end-date"] = [end_date]; |
+ if (metrics == null) { |
+ throw new core.ArgumentError("Parameter metrics is required."); |
+ } |
+ _queryParams["metrics"] = [metrics]; |
+ if (dimensions != null) { |
+ _queryParams["dimensions"] = [dimensions]; |
+ } |
+ if (filters != null) { |
+ _queryParams["filters"] = [filters]; |
+ } |
+ if (max_results != null) { |
+ _queryParams["max-results"] = ["${max_results}"]; |
+ } |
+ if (output != null) { |
+ _queryParams["output"] = [output]; |
+ } |
+ if (samplingLevel != null) { |
+ _queryParams["samplingLevel"] = [samplingLevel]; |
+ } |
+ if (segment != null) { |
+ _queryParams["segment"] = [segment]; |
+ } |
+ if (sort != null) { |
+ _queryParams["sort"] = [sort]; |
+ } |
+ if (start_index != null) { |
+ _queryParams["start-index"] = ["${start_index}"]; |
+ } |
+ |
+ |
+ _url = 'data/ga'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new GaData.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class DataMcfResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ DataMcfResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Returns Analytics Multi-Channel Funnels data for a view (profile). |
+ * |
+ * Request parameters: |
+ * |
+ * [ids] - Unique table ID for retrieving Analytics data. Table ID is of the |
+ * form ga:XXXX, where XXXX is the Analytics view (profile) ID. |
+ * Value must have pattern "ga:[0-9]+". |
+ * |
+ * [start_date] - Start date for fetching Analytics data. Requests can specify |
+ * a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, |
+ * yesterday, or 7daysAgo). The default value is 7daysAgo. |
+ * Value must have pattern |
+ * "[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)". |
+ * |
+ * [end_date] - End date for fetching Analytics data. Requests can specify a |
+ * start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, |
+ * yesterday, or 7daysAgo). The default value is 7daysAgo. |
+ * Value must have pattern |
+ * "[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)". |
+ * |
+ * [metrics] - A comma-separated list of Multi-Channel Funnels metrics. E.g., |
+ * 'mcf:totalConversions,mcf:totalConversionValue'. At least one metric must |
+ * be specified. |
+ * Value must have pattern "mcf:.+". |
+ * |
+ * [dimensions] - A comma-separated list of Multi-Channel Funnels dimensions. |
+ * E.g., 'mcf:source,mcf:medium'. |
+ * Value must have pattern "(mcf:.+)?". |
+ * |
+ * [filters] - A comma-separated list of dimension or metric filters to be |
+ * applied to the Analytics data. |
+ * Value must have pattern "mcf:.+". |
+ * |
+ * [max_results] - The maximum number of entries to include in this feed. |
+ * |
+ * [samplingLevel] - The desired sampling level. |
+ * Possible string values are: |
+ * - "DEFAULT" : Returns response with a sample size that balances speed and |
+ * accuracy. |
+ * - "FASTER" : Returns a fast response with a smaller sample size. |
+ * - "HIGHER_PRECISION" : Returns a more accurate response using a large |
+ * sample size, but this may result in the response being slower. |
+ * |
+ * [sort] - A comma-separated list of dimensions or metrics that determine the |
+ * sort order for the Analytics data. |
+ * Value must have pattern "(-)?mcf:.+". |
+ * |
+ * [start_index] - An index of the first entity to retrieve. Use this |
+ * parameter as a pagination mechanism along with the max-results parameter. |
+ * |
+ * Completes with a [McfData]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<McfData> get(core.String ids, core.String start_date, core.String end_date, core.String metrics, {core.String dimensions, core.String filters, core.int max_results, core.String samplingLevel, core.String sort, core.int start_index}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (ids == null) { |
+ throw new core.ArgumentError("Parameter ids is required."); |
+ } |
+ _queryParams["ids"] = [ids]; |
+ if (start_date == null) { |
+ throw new core.ArgumentError("Parameter start_date is required."); |
+ } |
+ _queryParams["start-date"] = [start_date]; |
+ if (end_date == null) { |
+ throw new core.ArgumentError("Parameter end_date is required."); |
+ } |
+ _queryParams["end-date"] = [end_date]; |
+ if (metrics == null) { |
+ throw new core.ArgumentError("Parameter metrics is required."); |
+ } |
+ _queryParams["metrics"] = [metrics]; |
+ if (dimensions != null) { |
+ _queryParams["dimensions"] = [dimensions]; |
+ } |
+ if (filters != null) { |
+ _queryParams["filters"] = [filters]; |
+ } |
+ if (max_results != null) { |
+ _queryParams["max-results"] = ["${max_results}"]; |
+ } |
+ if (samplingLevel != null) { |
+ _queryParams["samplingLevel"] = [samplingLevel]; |
+ } |
+ if (sort != null) { |
+ _queryParams["sort"] = [sort]; |
+ } |
+ if (start_index != null) { |
+ _queryParams["start-index"] = ["${start_index}"]; |
+ } |
+ |
+ |
+ _url = 'data/mcf'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new McfData.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class DataRealtimeResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ DataRealtimeResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Returns real time data for a view (profile). |
+ * |
+ * Request parameters: |
+ * |
+ * [ids] - Unique table ID for retrieving real time data. Table ID is of the |
+ * form ga:XXXX, where XXXX is the Analytics view (profile) ID. |
+ * Value must have pattern "ga:[0-9]+". |
+ * |
+ * [metrics] - A comma-separated list of real time metrics. E.g., |
+ * 'rt:activeUsers'. At least one metric must be specified. |
+ * Value must have pattern "(ga:.+)|(rt:.+)". |
+ * |
+ * [dimensions] - A comma-separated list of real time dimensions. E.g., |
+ * 'rt:medium,rt:city'. |
+ * Value must have pattern "(ga:.+)|(rt:.+)". |
+ * |
+ * [filters] - A comma-separated list of dimension or metric filters to be |
+ * applied to real time data. |
+ * Value must have pattern "(ga:.+)|(rt:.+)". |
+ * |
+ * [max_results] - The maximum number of entries to include in this feed. |
+ * |
+ * [sort] - A comma-separated list of dimensions or metrics that determine the |
+ * sort order for real time data. |
+ * Value must have pattern "(-)?((ga:.+)|(rt:.+))". |
+ * |
+ * Completes with a [RealtimeData]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<RealtimeData> get(core.String ids, core.String metrics, {core.String dimensions, core.String filters, core.int max_results, core.String sort}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (ids == null) { |
+ throw new core.ArgumentError("Parameter ids is required."); |
+ } |
+ _queryParams["ids"] = [ids]; |
+ if (metrics == null) { |
+ throw new core.ArgumentError("Parameter metrics is required."); |
+ } |
+ _queryParams["metrics"] = [metrics]; |
+ if (dimensions != null) { |
+ _queryParams["dimensions"] = [dimensions]; |
+ } |
+ if (filters != null) { |
+ _queryParams["filters"] = [filters]; |
+ } |
+ if (max_results != null) { |
+ _queryParams["max-results"] = ["${max_results}"]; |
+ } |
+ if (sort != null) { |
+ _queryParams["sort"] = [sort]; |
+ } |
+ |
+ |
+ _url = 'data/realtime'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new RealtimeData.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ManagementResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ManagementAccountSummariesResourceApi get accountSummaries => new ManagementAccountSummariesResourceApi(_requester); |
+ ManagementAccountUserLinksResourceApi get accountUserLinks => new ManagementAccountUserLinksResourceApi(_requester); |
+ ManagementAccountsResourceApi get accounts => new ManagementAccountsResourceApi(_requester); |
+ ManagementCustomDataSourcesResourceApi get customDataSources => new ManagementCustomDataSourcesResourceApi(_requester); |
+ ManagementDailyUploadsResourceApi get dailyUploads => new ManagementDailyUploadsResourceApi(_requester); |
+ ManagementExperimentsResourceApi get experiments => new ManagementExperimentsResourceApi(_requester); |
+ ManagementFiltersResourceApi get filters => new ManagementFiltersResourceApi(_requester); |
+ ManagementGoalsResourceApi get goals => new ManagementGoalsResourceApi(_requester); |
+ ManagementProfileFilterLinksResourceApi get profileFilterLinks => new ManagementProfileFilterLinksResourceApi(_requester); |
+ ManagementProfileUserLinksResourceApi get profileUserLinks => new ManagementProfileUserLinksResourceApi(_requester); |
+ ManagementProfilesResourceApi get profiles => new ManagementProfilesResourceApi(_requester); |
+ ManagementSegmentsResourceApi get segments => new ManagementSegmentsResourceApi(_requester); |
+ ManagementUnsampledReportsResourceApi get unsampledReports => new ManagementUnsampledReportsResourceApi(_requester); |
+ ManagementUploadsResourceApi get uploads => new ManagementUploadsResourceApi(_requester); |
+ ManagementWebPropertyAdWordsLinksResourceApi get webPropertyAdWordsLinks => new ManagementWebPropertyAdWordsLinksResourceApi(_requester); |
+ ManagementWebpropertiesResourceApi get webproperties => new ManagementWebpropertiesResourceApi(_requester); |
+ ManagementWebpropertyUserLinksResourceApi get webpropertyUserLinks => new ManagementWebpropertyUserLinksResourceApi(_requester); |
+ |
+ ManagementResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ManagementAccountSummariesResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ManagementAccountSummariesResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Lists account summaries (lightweight tree comprised of |
+ * accounts/properties/profiles) to which the user has access. |
+ * |
+ * Request parameters: |
+ * |
+ * [max_results] - The maximum number of filters to include in this response. |
+ * |
+ * [start_index] - An index of the first entity to retrieve. Use this |
+ * parameter as a pagination mechanism along with the max-results parameter. |
+ * |
+ * Completes with a [AccountSummaries]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<AccountSummaries> list({core.int max_results, core.int start_index}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (max_results != null) { |
+ _queryParams["max-results"] = ["${max_results}"]; |
+ } |
+ if (start_index != null) { |
+ _queryParams["start-index"] = ["${start_index}"]; |
+ } |
+ |
+ |
+ _url = 'management/accountSummaries'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new AccountSummaries.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ManagementAccountUserLinksResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ManagementAccountUserLinksResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Removes a user from the given account. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to delete the user link for. |
+ * |
+ * [linkId] - Link ID to delete the user link for. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future delete(core.String accountId, core.String linkId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (linkId == null) { |
+ throw new core.ArgumentError("Parameter linkId is required."); |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/entityUserLinks/' + common_internal.Escaper.ecapeVariable('$linkId'); |
+ |
+ var _response = _requester.request(_url, |
+ "DELETE", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+ /** |
+ * Adds a new user to the given account. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to create the user link for. |
+ * |
+ * Completes with a [EntityUserLink]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<EntityUserLink> insert(EntityUserLink request, core.String accountId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/entityUserLinks'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new EntityUserLink.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Lists account-user links for a given account. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to retrieve the user links for. |
+ * |
+ * [max_results] - The maximum number of account-user links to include in this |
+ * response. |
+ * |
+ * [start_index] - An index of the first account-user link to retrieve. Use |
+ * this parameter as a pagination mechanism along with the max-results |
+ * parameter. |
+ * |
+ * Completes with a [EntityUserLinks]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<EntityUserLinks> list(core.String accountId, {core.int max_results, core.int start_index}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (max_results != null) { |
+ _queryParams["max-results"] = ["${max_results}"]; |
+ } |
+ if (start_index != null) { |
+ _queryParams["start-index"] = ["${start_index}"]; |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/entityUserLinks'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new EntityUserLinks.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates permissions for an existing user on the given account. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to update the account-user link for. |
+ * |
+ * [linkId] - Link ID to update the account-user link for. |
+ * |
+ * Completes with a [EntityUserLink]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<EntityUserLink> update(EntityUserLink request, core.String accountId, core.String linkId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (linkId == null) { |
+ throw new core.ArgumentError("Parameter linkId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/entityUserLinks/' + common_internal.Escaper.ecapeVariable('$linkId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PUT", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new EntityUserLink.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ManagementAccountsResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ManagementAccountsResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Lists all accounts to which the user has access. |
+ * |
+ * Request parameters: |
+ * |
+ * [max_results] - The maximum number of accounts to include in this response. |
+ * |
+ * [start_index] - An index of the first account to retrieve. Use this |
+ * parameter as a pagination mechanism along with the max-results parameter. |
+ * |
+ * Completes with a [Accounts]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Accounts> list({core.int max_results, core.int start_index}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (max_results != null) { |
+ _queryParams["max-results"] = ["${max_results}"]; |
+ } |
+ if (start_index != null) { |
+ _queryParams["start-index"] = ["${start_index}"]; |
+ } |
+ |
+ |
+ _url = 'management/accounts'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Accounts.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ManagementCustomDataSourcesResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ManagementCustomDataSourcesResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * List custom data sources to which the user has access. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account Id for the custom data sources to retrieve. |
+ * Value must have pattern "\d+". |
+ * |
+ * [webPropertyId] - Web property Id for the custom data sources to retrieve. |
+ * Value must have pattern "UA-(\d+)-(\d+)". |
+ * |
+ * [max_results] - The maximum number of custom data sources to include in |
+ * this response. |
+ * |
+ * [start_index] - A 1-based index of the first custom data source to |
+ * retrieve. Use this parameter as a pagination mechanism along with the |
+ * max-results parameter. |
+ * |
+ * Completes with a [CustomDataSources]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<CustomDataSources> list(core.String accountId, core.String webPropertyId, {core.int max_results, core.int start_index}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (max_results != null) { |
+ _queryParams["max-results"] = ["${max_results}"]; |
+ } |
+ if (start_index != null) { |
+ _queryParams["start-index"] = ["${start_index}"]; |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/customDataSources'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new CustomDataSources.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ManagementDailyUploadsResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ManagementDailyUploadsResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Delete uploaded data for the given date. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account Id associated with daily upload delete. |
+ * Value must have pattern "[0-9]+". |
+ * |
+ * [webPropertyId] - Web property Id associated with daily upload delete. |
+ * Value must have pattern "UA-[0-9]+-[0-9]+". |
+ * |
+ * [customDataSourceId] - Custom data source Id associated with daily upload |
+ * delete. |
+ * |
+ * [date] - Date for which data is to be deleted. Date should be formatted as |
+ * YYYY-MM-DD. |
+ * Value must have pattern "[0-9]{4}-[0-9]{2}-[0-9]{2}". |
+ * |
+ * [type] - Type of data for this delete. |
+ * Possible string values are: |
+ * - "cost" : Value for specifying cost data upload. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future delete(core.String accountId, core.String webPropertyId, core.String customDataSourceId, core.String date, core.String type) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (customDataSourceId == null) { |
+ throw new core.ArgumentError("Parameter customDataSourceId is required."); |
+ } |
+ if (date == null) { |
+ throw new core.ArgumentError("Parameter date is required."); |
+ } |
+ if (type == null) { |
+ throw new core.ArgumentError("Parameter type is required."); |
+ } |
+ _queryParams["type"] = [type]; |
+ |
+ _downloadOptions = null; |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/customDataSources/' + common_internal.Escaper.ecapeVariable('$customDataSourceId') + '/dailyUploads/' + common_internal.Escaper.ecapeVariable('$date'); |
+ |
+ var _response = _requester.request(_url, |
+ "DELETE", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+ /** |
+ * List daily uploads to which the user has access. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account Id for the daily uploads to retrieve. |
+ * Value must have pattern "\d+". |
+ * |
+ * [webPropertyId] - Web property Id for the daily uploads to retrieve. |
+ * Value must have pattern "UA-(\d+)-(\d+)". |
+ * |
+ * [customDataSourceId] - Custom data source Id for daily uploads to retrieve. |
+ * Value must have pattern ".{22}". |
+ * |
+ * [start_date] - Start date of the form YYYY-MM-DD. |
+ * Value must have pattern "[0-9]{4}-[0-9]{2}-[0-9]{2}". |
+ * |
+ * [end_date] - End date of the form YYYY-MM-DD. |
+ * Value must have pattern "[0-9]{4}-[0-9]{2}-[0-9]{2}". |
+ * |
+ * [max_results] - The maximum number of custom data sources to include in |
+ * this response. |
+ * |
+ * [start_index] - A 1-based index of the first daily upload to retrieve. Use |
+ * this parameter as a pagination mechanism along with the max-results |
+ * parameter. |
+ * |
+ * Completes with a [DailyUploads]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<DailyUploads> list(core.String accountId, core.String webPropertyId, core.String customDataSourceId, core.String start_date, core.String end_date, {core.int max_results, core.int start_index}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (customDataSourceId == null) { |
+ throw new core.ArgumentError("Parameter customDataSourceId is required."); |
+ } |
+ if (start_date == null) { |
+ throw new core.ArgumentError("Parameter start_date is required."); |
+ } |
+ _queryParams["start-date"] = [start_date]; |
+ if (end_date == null) { |
+ throw new core.ArgumentError("Parameter end_date is required."); |
+ } |
+ _queryParams["end-date"] = [end_date]; |
+ if (max_results != null) { |
+ _queryParams["max-results"] = ["${max_results}"]; |
+ } |
+ if (start_index != null) { |
+ _queryParams["start-index"] = ["${start_index}"]; |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/customDataSources/' + common_internal.Escaper.ecapeVariable('$customDataSourceId') + '/dailyUploads'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new DailyUploads.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Update/Overwrite data for a custom data source. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account Id associated with daily upload. |
+ * Value must have pattern "\d+". |
+ * |
+ * [webPropertyId] - Web property Id associated with daily upload. |
+ * Value must have pattern "UA-\d+-\d+". |
+ * |
+ * [customDataSourceId] - Custom data source Id to which the data being |
+ * uploaded belongs. |
+ * |
+ * [date] - Date for which data is uploaded. Date should be formatted as |
+ * YYYY-MM-DD. |
+ * Value must have pattern "[0-9]{4}-[0-9]{2}-[0-9]{2}". |
+ * |
+ * [appendNumber] - Append number for this upload indexed from 1. |
+ * Value must be between "1" and "20". |
+ * |
+ * [type] - Type of data for this upload. |
+ * Possible string values are: |
+ * - "cost" : Value for specifying cost data upload. |
+ * |
+ * [reset] - Reset/Overwrite all previous appends for this date and start over |
+ * with this file as the first upload. |
+ * |
+ * [uploadMedia] - The media to upload. |
+ * |
+ * [uploadOptions] - Options for the media upload. Streaming Media without the |
+ * length being known ahead of time is only supported via resumable uploads. |
+ * |
+ * Completes with a [DailyUploadAppend]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<DailyUploadAppend> upload(core.String accountId, core.String webPropertyId, core.String customDataSourceId, core.String date, core.int appendNumber, core.String type, {core.bool reset, common.UploadOptions uploadOptions : common.UploadOptions.Default, common.Media uploadMedia}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (customDataSourceId == null) { |
+ throw new core.ArgumentError("Parameter customDataSourceId is required."); |
+ } |
+ if (date == null) { |
+ throw new core.ArgumentError("Parameter date is required."); |
+ } |
+ if (appendNumber == null) { |
+ throw new core.ArgumentError("Parameter appendNumber is required."); |
+ } |
+ _queryParams["appendNumber"] = ["${appendNumber}"]; |
+ if (type == null) { |
+ throw new core.ArgumentError("Parameter type is required."); |
+ } |
+ _queryParams["type"] = [type]; |
+ if (reset != null) { |
+ _queryParams["reset"] = ["${reset}"]; |
+ } |
+ |
+ _uploadMedia = uploadMedia; |
+ _uploadOptions = uploadOptions; |
+ |
+ if (_uploadMedia == null) { |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/customDataSources/' + common_internal.Escaper.ecapeVariable('$customDataSourceId') + '/dailyUploads/' + common_internal.Escaper.ecapeVariable('$date') + '/uploads'; |
+ } else if (_uploadOptions is common.ResumableUploadOptions) { |
+ _url = '/resumable/upload/analytics/v3/management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/customDataSources/' + common_internal.Escaper.ecapeVariable('$customDataSourceId') + '/dailyUploads/' + common_internal.Escaper.ecapeVariable('$date') + '/uploads'; |
+ } else { |
+ _url = '/upload/analytics/v3/management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/customDataSources/' + common_internal.Escaper.ecapeVariable('$customDataSourceId') + '/dailyUploads/' + common_internal.Escaper.ecapeVariable('$date') + '/uploads'; |
+ } |
+ |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new DailyUploadAppend.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ManagementExperimentsResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ManagementExperimentsResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Delete an experiment. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to which the experiment belongs |
+ * |
+ * [webPropertyId] - Web property ID to which the experiment belongs |
+ * |
+ * [profileId] - View (Profile) ID to which the experiment belongs |
+ * |
+ * [experimentId] - ID of the experiment to delete |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future delete(core.String accountId, core.String webPropertyId, core.String profileId, core.String experimentId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ if (experimentId == null) { |
+ throw new core.ArgumentError("Parameter experimentId is required."); |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/experiments/' + common_internal.Escaper.ecapeVariable('$experimentId'); |
+ |
+ var _response = _requester.request(_url, |
+ "DELETE", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+ /** |
+ * Returns an experiment to which the user has access. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to retrieve the experiment for. |
+ * |
+ * [webPropertyId] - Web property ID to retrieve the experiment for. |
+ * |
+ * [profileId] - View (Profile) ID to retrieve the experiment for. |
+ * |
+ * [experimentId] - Experiment ID to retrieve the experiment for. |
+ * |
+ * Completes with a [Experiment]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Experiment> get(core.String accountId, core.String webPropertyId, core.String profileId, core.String experimentId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ if (experimentId == null) { |
+ throw new core.ArgumentError("Parameter experimentId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/experiments/' + common_internal.Escaper.ecapeVariable('$experimentId'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Experiment.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Create a new experiment. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to create the experiment for. |
+ * |
+ * [webPropertyId] - Web property ID to create the experiment for. |
+ * |
+ * [profileId] - View (Profile) ID to create the experiment for. |
+ * |
+ * Completes with a [Experiment]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Experiment> insert(Experiment request, core.String accountId, core.String webPropertyId, core.String profileId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/experiments'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Experiment.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Lists experiments to which the user has access. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to retrieve experiments for. |
+ * Value must have pattern "\d+". |
+ * |
+ * [webPropertyId] - Web property ID to retrieve experiments for. |
+ * Value must have pattern "UA-(\d+)-(\d+)". |
+ * |
+ * [profileId] - View (Profile) ID to retrieve experiments for. |
+ * Value must have pattern "\d+". |
+ * |
+ * [max_results] - The maximum number of experiments to include in this |
+ * response. |
+ * |
+ * [start_index] - An index of the first experiment to retrieve. Use this |
+ * parameter as a pagination mechanism along with the max-results parameter. |
+ * |
+ * Completes with a [Experiments]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Experiments> list(core.String accountId, core.String webPropertyId, core.String profileId, {core.int max_results, core.int start_index}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ if (max_results != null) { |
+ _queryParams["max-results"] = ["${max_results}"]; |
+ } |
+ if (start_index != null) { |
+ _queryParams["start-index"] = ["${start_index}"]; |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/experiments'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Experiments.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Update an existing experiment. This method supports patch semantics. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID of the experiment to update. |
+ * |
+ * [webPropertyId] - Web property ID of the experiment to update. |
+ * |
+ * [profileId] - View (Profile) ID of the experiment to update. |
+ * |
+ * [experimentId] - Experiment ID of the experiment to update. |
+ * |
+ * Completes with a [Experiment]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Experiment> patch(Experiment request, core.String accountId, core.String webPropertyId, core.String profileId, core.String experimentId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ if (experimentId == null) { |
+ throw new core.ArgumentError("Parameter experimentId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/experiments/' + common_internal.Escaper.ecapeVariable('$experimentId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PATCH", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Experiment.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Update an existing experiment. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID of the experiment to update. |
+ * |
+ * [webPropertyId] - Web property ID of the experiment to update. |
+ * |
+ * [profileId] - View (Profile) ID of the experiment to update. |
+ * |
+ * [experimentId] - Experiment ID of the experiment to update. |
+ * |
+ * Completes with a [Experiment]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Experiment> update(Experiment request, core.String accountId, core.String webPropertyId, core.String profileId, core.String experimentId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ if (experimentId == null) { |
+ throw new core.ArgumentError("Parameter experimentId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/experiments/' + common_internal.Escaper.ecapeVariable('$experimentId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PUT", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Experiment.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ManagementFiltersResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ManagementFiltersResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Delete a filter. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to delete the filter for. |
+ * |
+ * [filterId] - ID of the filter to be deleted. |
+ * |
+ * Completes with a [Filter]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Filter> delete(core.String accountId, core.String filterId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (filterId == null) { |
+ throw new core.ArgumentError("Parameter filterId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/filters/' + common_internal.Escaper.ecapeVariable('$filterId'); |
+ |
+ var _response = _requester.request(_url, |
+ "DELETE", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Filter.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Returns a filters to which the user has access. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to retrieve filters for. |
+ * |
+ * [filterId] - Filter ID to retrieve filters for. |
+ * |
+ * Completes with a [Filter]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Filter> get(core.String accountId, core.String filterId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (filterId == null) { |
+ throw new core.ArgumentError("Parameter filterId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/filters/' + common_internal.Escaper.ecapeVariable('$filterId'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Filter.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Create a new filter. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to create filter for. |
+ * |
+ * Completes with a [Filter]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Filter> insert(Filter request, core.String accountId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/filters'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Filter.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Lists all filters for an account |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to retrieve filters for. |
+ * Value must have pattern "\d+". |
+ * |
+ * [max_results] - The maximum number of filters to include in this response. |
+ * |
+ * [start_index] - An index of the first entity to retrieve. Use this |
+ * parameter as a pagination mechanism along with the max-results parameter. |
+ * |
+ * Completes with a [Filters]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Filters> list(core.String accountId, {core.int max_results, core.int start_index}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (max_results != null) { |
+ _queryParams["max-results"] = ["${max_results}"]; |
+ } |
+ if (start_index != null) { |
+ _queryParams["start-index"] = ["${start_index}"]; |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/filters'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Filters.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates an existing filter. This method supports patch semantics. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to which the filter belongs. |
+ * |
+ * [filterId] - ID of the filter to be updated. |
+ * |
+ * Completes with a [Filter]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Filter> patch(Filter request, core.String accountId, core.String filterId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (filterId == null) { |
+ throw new core.ArgumentError("Parameter filterId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/filters/' + common_internal.Escaper.ecapeVariable('$filterId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PATCH", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Filter.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates an existing filter. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to which the filter belongs. |
+ * |
+ * [filterId] - ID of the filter to be updated. |
+ * |
+ * Completes with a [Filter]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Filter> update(Filter request, core.String accountId, core.String filterId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (filterId == null) { |
+ throw new core.ArgumentError("Parameter filterId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/filters/' + common_internal.Escaper.ecapeVariable('$filterId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PUT", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Filter.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ManagementGoalsResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ManagementGoalsResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Gets a goal to which the user has access. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to retrieve the goal for. |
+ * |
+ * [webPropertyId] - Web property ID to retrieve the goal for. |
+ * |
+ * [profileId] - View (Profile) ID to retrieve the goal for. |
+ * |
+ * [goalId] - Goal ID to retrieve the goal for. |
+ * |
+ * Completes with a [Goal]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Goal> get(core.String accountId, core.String webPropertyId, core.String profileId, core.String goalId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ if (goalId == null) { |
+ throw new core.ArgumentError("Parameter goalId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/goals/' + common_internal.Escaper.ecapeVariable('$goalId'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Goal.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Create a new goal. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to create the goal for. |
+ * |
+ * [webPropertyId] - Web property ID to create the goal for. |
+ * |
+ * [profileId] - View (Profile) ID to create the goal for. |
+ * |
+ * Completes with a [Goal]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Goal> insert(Goal request, core.String accountId, core.String webPropertyId, core.String profileId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/goals'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Goal.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Lists goals to which the user has access. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to retrieve goals for. Can either be a specific |
+ * account ID or '~all', which refers to all the accounts that user has access |
+ * to. |
+ * |
+ * [webPropertyId] - Web property ID to retrieve goals for. Can either be a |
+ * specific web property ID or '~all', which refers to all the web properties |
+ * that user has access to. |
+ * |
+ * [profileId] - View (Profile) ID to retrieve goals for. Can either be a |
+ * specific view (profile) ID or '~all', which refers to all the views |
+ * (profiles) that user has access to. |
+ * |
+ * [max_results] - The maximum number of goals to include in this response. |
+ * |
+ * [start_index] - An index of the first goal to retrieve. Use this parameter |
+ * as a pagination mechanism along with the max-results parameter. |
+ * |
+ * Completes with a [Goals]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Goals> list(core.String accountId, core.String webPropertyId, core.String profileId, {core.int max_results, core.int start_index}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ if (max_results != null) { |
+ _queryParams["max-results"] = ["${max_results}"]; |
+ } |
+ if (start_index != null) { |
+ _queryParams["start-index"] = ["${start_index}"]; |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/goals'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Goals.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates an existing view (profile). This method supports patch semantics. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to update the goal. |
+ * |
+ * [webPropertyId] - Web property ID to update the goal. |
+ * |
+ * [profileId] - View (Profile) ID to update the goal. |
+ * |
+ * [goalId] - Index of the goal to be updated. |
+ * |
+ * Completes with a [Goal]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Goal> patch(Goal request, core.String accountId, core.String webPropertyId, core.String profileId, core.String goalId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ if (goalId == null) { |
+ throw new core.ArgumentError("Parameter goalId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/goals/' + common_internal.Escaper.ecapeVariable('$goalId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PATCH", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Goal.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates an existing view (profile). |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to update the goal. |
+ * |
+ * [webPropertyId] - Web property ID to update the goal. |
+ * |
+ * [profileId] - View (Profile) ID to update the goal. |
+ * |
+ * [goalId] - Index of the goal to be updated. |
+ * |
+ * Completes with a [Goal]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Goal> update(Goal request, core.String accountId, core.String webPropertyId, core.String profileId, core.String goalId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ if (goalId == null) { |
+ throw new core.ArgumentError("Parameter goalId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/goals/' + common_internal.Escaper.ecapeVariable('$goalId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PUT", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Goal.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ManagementProfileFilterLinksResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ManagementProfileFilterLinksResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Delete a profile filter link. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to which the profile filter link belongs. |
+ * Value must have pattern "\d+". |
+ * |
+ * [webPropertyId] - Web property Id to which the profile filter link belongs. |
+ * Value must have pattern "UA-(\d+)-(\d+)". |
+ * |
+ * [profileId] - Profile ID to which the filter link belongs. |
+ * Value must have pattern "\d+". |
+ * |
+ * [linkId] - ID of the profile filter link to delete. |
+ * Value must have pattern "\d+:\d+". |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future delete(core.String accountId, core.String webPropertyId, core.String profileId, core.String linkId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ if (linkId == null) { |
+ throw new core.ArgumentError("Parameter linkId is required."); |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/profileFilterLinks/' + common_internal.Escaper.ecapeVariable('$linkId'); |
+ |
+ var _response = _requester.request(_url, |
+ "DELETE", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+ /** |
+ * Returns a single profile filter link. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to retrieve profile filter link for. |
+ * Value must have pattern "\d+". |
+ * |
+ * [webPropertyId] - Web property Id to retrieve profile filter link for. |
+ * Value must have pattern "UA-(\d+)-(\d+)". |
+ * |
+ * [profileId] - Profile ID to retrieve filter link for. |
+ * Value must have pattern "\d+". |
+ * |
+ * [linkId] - ID of the profile filter link. |
+ * Value must have pattern "\d+:\d+". |
+ * |
+ * Completes with a [ProfileFilterLink]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<ProfileFilterLink> get(core.String accountId, core.String webPropertyId, core.String profileId, core.String linkId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ if (linkId == null) { |
+ throw new core.ArgumentError("Parameter linkId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/profileFilterLinks/' + common_internal.Escaper.ecapeVariable('$linkId'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new ProfileFilterLink.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Create a new profile filter link. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to create profile filter link for. |
+ * Value must have pattern "\d+". |
+ * |
+ * [webPropertyId] - Web property Id to create profile filter link for. |
+ * Value must have pattern "UA-(\d+)-(\d+)". |
+ * |
+ * [profileId] - Profile ID to create filter link for. |
+ * Value must have pattern "\d+". |
+ * |
+ * Completes with a [ProfileFilterLink]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<ProfileFilterLink> insert(ProfileFilterLink request, core.String accountId, core.String webPropertyId, core.String profileId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/profileFilterLinks'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new ProfileFilterLink.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Lists all profile filter links for a profile. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to retrieve profile filter links for. |
+ * Value must have pattern "\d+". |
+ * |
+ * [webPropertyId] - Web property Id for profile filter links for. Can either |
+ * be a specific web property ID or '~all', which refers to all the web |
+ * properties that user has access to. |
+ * |
+ * [profileId] - Profile ID to retrieve filter links for. Can either be a |
+ * specific profile ID or '~all', which refers to all the profiles that user |
+ * has access to. |
+ * |
+ * [max_results] - The maximum number of profile filter links to include in |
+ * this response. |
+ * |
+ * [start_index] - An index of the first entity to retrieve. Use this |
+ * parameter as a pagination mechanism along with the max-results parameter. |
+ * |
+ * Completes with a [ProfileFilterLinks]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<ProfileFilterLinks> list(core.String accountId, core.String webPropertyId, core.String profileId, {core.int max_results, core.int start_index}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ if (max_results != null) { |
+ _queryParams["max-results"] = ["${max_results}"]; |
+ } |
+ if (start_index != null) { |
+ _queryParams["start-index"] = ["${start_index}"]; |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/profileFilterLinks'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new ProfileFilterLinks.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Update an existing profile filter link. This method supports patch |
+ * semantics. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to which profile filter link belongs. |
+ * Value must have pattern "\d+". |
+ * |
+ * [webPropertyId] - Web property Id to which profile filter link belongs |
+ * Value must have pattern "UA-(\d+)-(\d+)". |
+ * |
+ * [profileId] - Profile ID to which filter link belongs |
+ * Value must have pattern "\d+". |
+ * |
+ * [linkId] - ID of the profile filter link to be updated. |
+ * Value must have pattern "\d+:\d+". |
+ * |
+ * Completes with a [ProfileFilterLink]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<ProfileFilterLink> patch(ProfileFilterLink request, core.String accountId, core.String webPropertyId, core.String profileId, core.String linkId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ if (linkId == null) { |
+ throw new core.ArgumentError("Parameter linkId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/profileFilterLinks/' + common_internal.Escaper.ecapeVariable('$linkId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PATCH", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new ProfileFilterLink.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Update an existing profile filter link. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to which profile filter link belongs. |
+ * Value must have pattern "\d+". |
+ * |
+ * [webPropertyId] - Web property Id to which profile filter link belongs |
+ * Value must have pattern "UA-(\d+)-(\d+)". |
+ * |
+ * [profileId] - Profile ID to which filter link belongs |
+ * Value must have pattern "\d+". |
+ * |
+ * [linkId] - ID of the profile filter link to be updated. |
+ * Value must have pattern "\d+:\d+". |
+ * |
+ * Completes with a [ProfileFilterLink]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<ProfileFilterLink> update(ProfileFilterLink request, core.String accountId, core.String webPropertyId, core.String profileId, core.String linkId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ if (linkId == null) { |
+ throw new core.ArgumentError("Parameter linkId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/profileFilterLinks/' + common_internal.Escaper.ecapeVariable('$linkId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PUT", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new ProfileFilterLink.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ManagementProfileUserLinksResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ManagementProfileUserLinksResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Removes a user from the given view (profile). |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to delete the user link for. |
+ * |
+ * [webPropertyId] - Web Property ID to delete the user link for. |
+ * |
+ * [profileId] - View (Profile) ID to delete the user link for. |
+ * |
+ * [linkId] - Link ID to delete the user link for. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future delete(core.String accountId, core.String webPropertyId, core.String profileId, core.String linkId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ if (linkId == null) { |
+ throw new core.ArgumentError("Parameter linkId is required."); |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/entityUserLinks/' + common_internal.Escaper.ecapeVariable('$linkId'); |
+ |
+ var _response = _requester.request(_url, |
+ "DELETE", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+ /** |
+ * Adds a new user to the given view (profile). |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to create the user link for. |
+ * |
+ * [webPropertyId] - Web Property ID to create the user link for. |
+ * |
+ * [profileId] - View (Profile) ID to create the user link for. |
+ * |
+ * Completes with a [EntityUserLink]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<EntityUserLink> insert(EntityUserLink request, core.String accountId, core.String webPropertyId, core.String profileId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/entityUserLinks'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new EntityUserLink.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Lists profile-user links for a given view (profile). |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID which the given view (profile) belongs to. |
+ * |
+ * [webPropertyId] - Web Property ID which the given view (profile) belongs |
+ * to. Can either be a specific web property ID or '~all', which refers to all |
+ * the web properties that user has access to. |
+ * |
+ * [profileId] - View (Profile) ID to retrieve the profile-user links for. Can |
+ * either be a specific profile ID or '~all', which refers to all the profiles |
+ * that user has access to. |
+ * |
+ * [max_results] - The maximum number of profile-user links to include in this |
+ * response. |
+ * |
+ * [start_index] - An index of the first profile-user link to retrieve. Use |
+ * this parameter as a pagination mechanism along with the max-results |
+ * parameter. |
+ * |
+ * Completes with a [EntityUserLinks]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<EntityUserLinks> list(core.String accountId, core.String webPropertyId, core.String profileId, {core.int max_results, core.int start_index}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ if (max_results != null) { |
+ _queryParams["max-results"] = ["${max_results}"]; |
+ } |
+ if (start_index != null) { |
+ _queryParams["start-index"] = ["${start_index}"]; |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/entityUserLinks'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new EntityUserLinks.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates permissions for an existing user on the given view (profile). |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to update the user link for. |
+ * |
+ * [webPropertyId] - Web Property ID to update the user link for. |
+ * |
+ * [profileId] - View (Profile ID) to update the user link for. |
+ * |
+ * [linkId] - Link ID to update the user link for. |
+ * |
+ * Completes with a [EntityUserLink]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<EntityUserLink> update(EntityUserLink request, core.String accountId, core.String webPropertyId, core.String profileId, core.String linkId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ if (linkId == null) { |
+ throw new core.ArgumentError("Parameter linkId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/entityUserLinks/' + common_internal.Escaper.ecapeVariable('$linkId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PUT", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new EntityUserLink.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ManagementProfilesResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ManagementProfilesResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Deletes a view (profile). |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to delete the view (profile) for. |
+ * |
+ * [webPropertyId] - Web property ID to delete the view (profile) for. |
+ * |
+ * [profileId] - ID of the view (profile) to be deleted. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future delete(core.String accountId, core.String webPropertyId, core.String profileId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId'); |
+ |
+ var _response = _requester.request(_url, |
+ "DELETE", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+ /** |
+ * Gets a view (profile) to which the user has access. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to retrieve the goal for. |
+ * Value must have pattern "[0-9]+". |
+ * |
+ * [webPropertyId] - Web property ID to retrieve the goal for. |
+ * Value must have pattern "UA-[0-9]+-[0-9]+". |
+ * |
+ * [profileId] - View (Profile) ID to retrieve the goal for. |
+ * Value must have pattern "[0-9]+". |
+ * |
+ * Completes with a [Profile]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Profile> get(core.String accountId, core.String webPropertyId, core.String profileId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Profile.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Create a new view (profile). |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to create the view (profile) for. |
+ * |
+ * [webPropertyId] - Web property ID to create the view (profile) for. |
+ * |
+ * Completes with a [Profile]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Profile> insert(Profile request, core.String accountId, core.String webPropertyId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Profile.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Lists views (profiles) to which the user has access. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID for the view (profiles) to retrieve. Can either be |
+ * a specific account ID or '~all', which refers to all the accounts to which |
+ * the user has access. |
+ * |
+ * [webPropertyId] - Web property ID for the views (profiles) to retrieve. Can |
+ * either be a specific web property ID or '~all', which refers to all the web |
+ * properties to which the user has access. |
+ * |
+ * [max_results] - The maximum number of views (profiles) to include in this |
+ * response. |
+ * |
+ * [start_index] - An index of the first entity to retrieve. Use this |
+ * parameter as a pagination mechanism along with the max-results parameter. |
+ * |
+ * Completes with a [Profiles]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Profiles> list(core.String accountId, core.String webPropertyId, {core.int max_results, core.int start_index}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (max_results != null) { |
+ _queryParams["max-results"] = ["${max_results}"]; |
+ } |
+ if (start_index != null) { |
+ _queryParams["start-index"] = ["${start_index}"]; |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Profiles.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates an existing view (profile). This method supports patch semantics. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to which the view (profile) belongs |
+ * |
+ * [webPropertyId] - Web property ID to which the view (profile) belongs |
+ * |
+ * [profileId] - ID of the view (profile) to be updated. |
+ * |
+ * Completes with a [Profile]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Profile> patch(Profile request, core.String accountId, core.String webPropertyId, core.String profileId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PATCH", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Profile.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates an existing view (profile). |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to which the view (profile) belongs |
+ * |
+ * [webPropertyId] - Web property ID to which the view (profile) belongs |
+ * |
+ * [profileId] - ID of the view (profile) to be updated. |
+ * |
+ * Completes with a [Profile]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Profile> update(Profile request, core.String accountId, core.String webPropertyId, core.String profileId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PUT", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Profile.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ManagementSegmentsResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ManagementSegmentsResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Lists segments to which the user has access. |
+ * |
+ * Request parameters: |
+ * |
+ * [max_results] - The maximum number of segments to include in this response. |
+ * |
+ * [start_index] - An index of the first segment to retrieve. Use this |
+ * parameter as a pagination mechanism along with the max-results parameter. |
+ * |
+ * Completes with a [Segments]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Segments> list({core.int max_results, core.int start_index}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (max_results != null) { |
+ _queryParams["max-results"] = ["${max_results}"]; |
+ } |
+ if (start_index != null) { |
+ _queryParams["start-index"] = ["${start_index}"]; |
+ } |
+ |
+ |
+ _url = 'management/segments'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Segments.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ManagementUnsampledReportsResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ManagementUnsampledReportsResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Returns a single unsampled report. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to retrieve unsampled report for. |
+ * |
+ * [webPropertyId] - Web property ID to retrieve unsampled reports for. |
+ * |
+ * [profileId] - View (Profile) ID to retrieve unsampled report for. |
+ * |
+ * [unsampledReportId] - ID of the unsampled report to retrieve. |
+ * |
+ * Completes with a [UnsampledReport]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<UnsampledReport> get(core.String accountId, core.String webPropertyId, core.String profileId, core.String unsampledReportId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ if (unsampledReportId == null) { |
+ throw new core.ArgumentError("Parameter unsampledReportId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/unsampledReports/' + common_internal.Escaper.ecapeVariable('$unsampledReportId'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new UnsampledReport.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Create a new unsampled report. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to create the unsampled report for. |
+ * |
+ * [webPropertyId] - Web property ID to create the unsampled report for. |
+ * |
+ * [profileId] - View (Profile) ID to create the unsampled report for. |
+ * |
+ * Completes with a [UnsampledReport]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<UnsampledReport> insert(UnsampledReport request, core.String accountId, core.String webPropertyId, core.String profileId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/unsampledReports'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new UnsampledReport.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Lists unsampled reports to which the user has access. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to retrieve unsampled reports for. Must be a |
+ * specific account ID, ~all is not supported. |
+ * |
+ * [webPropertyId] - Web property ID to retrieve unsampled reports for. Must |
+ * be a specific web property ID, ~all is not supported. |
+ * |
+ * [profileId] - View (Profile) ID to retrieve unsampled reports for. Must be |
+ * a specific view (profile) ID, ~all is not supported. |
+ * |
+ * [max_results] - The maximum number of unsampled reports to include in this |
+ * response. |
+ * |
+ * [start_index] - An index of the first unsampled report to retrieve. Use |
+ * this parameter as a pagination mechanism along with the max-results |
+ * parameter. |
+ * |
+ * Completes with a [UnsampledReports]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<UnsampledReports> list(core.String accountId, core.String webPropertyId, core.String profileId, {core.int max_results, core.int start_index}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (profileId == null) { |
+ throw new core.ArgumentError("Parameter profileId is required."); |
+ } |
+ if (max_results != null) { |
+ _queryParams["max-results"] = ["${max_results}"]; |
+ } |
+ if (start_index != null) { |
+ _queryParams["start-index"] = ["${start_index}"]; |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/profiles/' + common_internal.Escaper.ecapeVariable('$profileId') + '/unsampledReports'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new UnsampledReports.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ManagementUploadsResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ManagementUploadsResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Delete data associated with a previous upload. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account Id for the uploads to be deleted. |
+ * Value must have pattern "\d+". |
+ * |
+ * [webPropertyId] - Web property Id for the uploads to be deleted. |
+ * Value must have pattern "UA-(\d+)-(\d+)". |
+ * |
+ * [customDataSourceId] - Custom data source Id for the uploads to be deleted. |
+ * Value must have pattern ".{22}". |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future deleteUploadData(AnalyticsDataimportDeleteUploadDataRequest request, core.String accountId, core.String webPropertyId, core.String customDataSourceId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (customDataSourceId == null) { |
+ throw new core.ArgumentError("Parameter customDataSourceId is required."); |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/customDataSources/' + common_internal.Escaper.ecapeVariable('$customDataSourceId') + '/deleteUploadData'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+ /** |
+ * List uploads to which the user has access. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account Id for the upload to retrieve. |
+ * Value must have pattern "\d+". |
+ * |
+ * [webPropertyId] - Web property Id for the upload to retrieve. |
+ * Value must have pattern "UA-(\d+)-(\d+)". |
+ * |
+ * [customDataSourceId] - Custom data source Id for upload to retrieve. |
+ * Value must have pattern ".{22}". |
+ * |
+ * [uploadId] - Upload Id to retrieve. |
+ * Value must have pattern ".{22}". |
+ * |
+ * Completes with a [Upload]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Upload> get(core.String accountId, core.String webPropertyId, core.String customDataSourceId, core.String uploadId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (customDataSourceId == null) { |
+ throw new core.ArgumentError("Parameter customDataSourceId is required."); |
+ } |
+ if (uploadId == null) { |
+ throw new core.ArgumentError("Parameter uploadId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/customDataSources/' + common_internal.Escaper.ecapeVariable('$customDataSourceId') + '/uploads/' + common_internal.Escaper.ecapeVariable('$uploadId'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Upload.fromJson(data)); |
+ } |
+ |
+ /** |
+ * List uploads to which the user has access. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account Id for the uploads to retrieve. |
+ * Value must have pattern "\d+". |
+ * |
+ * [webPropertyId] - Web property Id for the uploads to retrieve. |
+ * Value must have pattern "UA-(\d+)-(\d+)". |
+ * |
+ * [customDataSourceId] - Custom data source Id for uploads to retrieve. |
+ * Value must have pattern ".{22}". |
+ * |
+ * [max_results] - The maximum number of uploads to include in this response. |
+ * |
+ * [start_index] - A 1-based index of the first upload to retrieve. Use this |
+ * parameter as a pagination mechanism along with the max-results parameter. |
+ * |
+ * Completes with a [Uploads]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Uploads> list(core.String accountId, core.String webPropertyId, core.String customDataSourceId, {core.int max_results, core.int start_index}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (customDataSourceId == null) { |
+ throw new core.ArgumentError("Parameter customDataSourceId is required."); |
+ } |
+ if (max_results != null) { |
+ _queryParams["max-results"] = ["${max_results}"]; |
+ } |
+ if (start_index != null) { |
+ _queryParams["start-index"] = ["${start_index}"]; |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/customDataSources/' + common_internal.Escaper.ecapeVariable('$customDataSourceId') + '/uploads'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Uploads.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Migrate custom data source and data imports to latest version. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account Id for migration. |
+ * Value must have pattern "\d+". |
+ * |
+ * [webPropertyId] - Web property Id for migration. |
+ * Value must have pattern "UA-(\d+)-(\d+)". |
+ * |
+ * [customDataSourceId] - Custom data source Id for migration. |
+ * Value must have pattern ".{22}". |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future migrateDataImport(core.String accountId, core.String webPropertyId, core.String customDataSourceId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (customDataSourceId == null) { |
+ throw new core.ArgumentError("Parameter customDataSourceId is required."); |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/customDataSources/' + common_internal.Escaper.ecapeVariable('$customDataSourceId') + '/migrateDataImport'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+ /** |
+ * Upload data for a custom data source. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account Id associated with the upload. |
+ * Value must have pattern "\d+". |
+ * |
+ * [webPropertyId] - Web property UA-string associated with the upload. |
+ * Value must have pattern "UA-\d+-\d+". |
+ * |
+ * [customDataSourceId] - Custom data source Id to which the data being |
+ * uploaded belongs. |
+ * |
+ * [uploadMedia] - The media to upload. |
+ * |
+ * [uploadOptions] - Options for the media upload. Streaming Media without the |
+ * length being known ahead of time is only supported via resumable uploads. |
+ * |
+ * Completes with a [Upload]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Upload> uploadData(core.String accountId, core.String webPropertyId, core.String customDataSourceId, {common.UploadOptions uploadOptions : common.UploadOptions.Default, common.Media uploadMedia}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (customDataSourceId == null) { |
+ throw new core.ArgumentError("Parameter customDataSourceId is required."); |
+ } |
+ |
+ _uploadMedia = uploadMedia; |
+ _uploadOptions = uploadOptions; |
+ |
+ if (_uploadMedia == null) { |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/customDataSources/' + common_internal.Escaper.ecapeVariable('$customDataSourceId') + '/uploads'; |
+ } else if (_uploadOptions is common.ResumableUploadOptions) { |
+ _url = '/resumable/upload/analytics/v3/management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/customDataSources/' + common_internal.Escaper.ecapeVariable('$customDataSourceId') + '/uploads'; |
+ } else { |
+ _url = '/upload/analytics/v3/management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/customDataSources/' + common_internal.Escaper.ecapeVariable('$customDataSourceId') + '/uploads'; |
+ } |
+ |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Upload.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ManagementWebPropertyAdWordsLinksResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ManagementWebPropertyAdWordsLinksResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Deletes a web property-AdWords link. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - ID of the account which the given web property belongs to. |
+ * |
+ * [webPropertyId] - Web property ID to delete the AdWords link for. |
+ * |
+ * [webPropertyAdWordsLinkId] - Web property AdWords link ID. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future delete(core.String accountId, core.String webPropertyId, core.String webPropertyAdWordsLinkId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (webPropertyAdWordsLinkId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyAdWordsLinkId is required."); |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/entityAdWordsLinks/' + common_internal.Escaper.ecapeVariable('$webPropertyAdWordsLinkId'); |
+ |
+ var _response = _requester.request(_url, |
+ "DELETE", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+ /** |
+ * Returns a web property-AdWords link to which the user has access. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - ID of the account which the given web property belongs to. |
+ * |
+ * [webPropertyId] - Web property ID to retrieve the AdWords link for. |
+ * |
+ * [webPropertyAdWordsLinkId] - Web property-AdWords link ID. |
+ * |
+ * Completes with a [EntityAdWordsLink]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<EntityAdWordsLink> get(core.String accountId, core.String webPropertyId, core.String webPropertyAdWordsLinkId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (webPropertyAdWordsLinkId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyAdWordsLinkId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/entityAdWordsLinks/' + common_internal.Escaper.ecapeVariable('$webPropertyAdWordsLinkId'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new EntityAdWordsLink.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Creates a webProperty-AdWords link. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - ID of the Google Analytics account to create the link for. |
+ * |
+ * [webPropertyId] - Web property ID to create the link for. |
+ * |
+ * Completes with a [EntityAdWordsLink]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<EntityAdWordsLink> insert(EntityAdWordsLink request, core.String accountId, core.String webPropertyId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/entityAdWordsLinks'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new EntityAdWordsLink.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Lists webProperty-AdWords links for a given web property. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - ID of the account which the given web property belongs to. |
+ * Value must have pattern "\d+". |
+ * |
+ * [webPropertyId] - Web property ID to retrieve the AdWords links for. |
+ * |
+ * [max_results] - The maximum number of webProperty-AdWords links to include |
+ * in this response. |
+ * |
+ * [start_index] - An index of the first webProperty-AdWords link to retrieve. |
+ * Use this parameter as a pagination mechanism along with the max-results |
+ * parameter. |
+ * |
+ * Completes with a [EntityAdWordsLinks]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<EntityAdWordsLinks> list(core.String accountId, core.String webPropertyId, {core.int max_results, core.int start_index}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (max_results != null) { |
+ _queryParams["max-results"] = ["${max_results}"]; |
+ } |
+ if (start_index != null) { |
+ _queryParams["start-index"] = ["${start_index}"]; |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/entityAdWordsLinks'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new EntityAdWordsLinks.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates an existing webProperty-AdWords link. This method supports patch |
+ * semantics. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - ID of the account which the given web property belongs to. |
+ * |
+ * [webPropertyId] - Web property ID to retrieve the AdWords link for. |
+ * |
+ * [webPropertyAdWordsLinkId] - Web property-AdWords link ID. |
+ * |
+ * Completes with a [EntityAdWordsLink]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<EntityAdWordsLink> patch(EntityAdWordsLink request, core.String accountId, core.String webPropertyId, core.String webPropertyAdWordsLinkId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (webPropertyAdWordsLinkId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyAdWordsLinkId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/entityAdWordsLinks/' + common_internal.Escaper.ecapeVariable('$webPropertyAdWordsLinkId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PATCH", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new EntityAdWordsLink.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates an existing webProperty-AdWords link. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - ID of the account which the given web property belongs to. |
+ * |
+ * [webPropertyId] - Web property ID to retrieve the AdWords link for. |
+ * |
+ * [webPropertyAdWordsLinkId] - Web property-AdWords link ID. |
+ * |
+ * Completes with a [EntityAdWordsLink]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<EntityAdWordsLink> update(EntityAdWordsLink request, core.String accountId, core.String webPropertyId, core.String webPropertyAdWordsLinkId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (webPropertyAdWordsLinkId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyAdWordsLinkId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/entityAdWordsLinks/' + common_internal.Escaper.ecapeVariable('$webPropertyAdWordsLinkId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PUT", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new EntityAdWordsLink.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ManagementWebpropertiesResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ManagementWebpropertiesResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Gets a web property to which the user has access. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to retrieve the web property for. |
+ * Value must have pattern "[0-9]+". |
+ * |
+ * [webPropertyId] - ID to retrieve the web property for. |
+ * Value must have pattern "UA-[0-9]+-[0-9]+". |
+ * |
+ * Completes with a [Webproperty]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Webproperty> get(core.String accountId, core.String webPropertyId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Webproperty.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Create a new property if the account has fewer than 20 properties. Web |
+ * properties are visible in the Google Analytics interface only if they have |
+ * at least one profile. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to create the web property for. |
+ * |
+ * Completes with a [Webproperty]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Webproperty> insert(Webproperty request, core.String accountId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Webproperty.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Lists web properties to which the user has access. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to retrieve web properties for. Can either be a |
+ * specific account ID or '~all', which refers to all the accounts that user |
+ * has access to. |
+ * |
+ * [max_results] - The maximum number of web properties to include in this |
+ * response. |
+ * |
+ * [start_index] - An index of the first entity to retrieve. Use this |
+ * parameter as a pagination mechanism along with the max-results parameter. |
+ * |
+ * Completes with a [Webproperties]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Webproperties> list(core.String accountId, {core.int max_results, core.int start_index}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (max_results != null) { |
+ _queryParams["max-results"] = ["${max_results}"]; |
+ } |
+ if (start_index != null) { |
+ _queryParams["start-index"] = ["${start_index}"]; |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Webproperties.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates an existing web property. This method supports patch semantics. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to which the web property belongs |
+ * |
+ * [webPropertyId] - Web property ID |
+ * |
+ * Completes with a [Webproperty]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Webproperty> patch(Webproperty request, core.String accountId, core.String webPropertyId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PATCH", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Webproperty.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates an existing web property. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to which the web property belongs |
+ * |
+ * [webPropertyId] - Web property ID |
+ * |
+ * Completes with a [Webproperty]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Webproperty> update(Webproperty request, core.String accountId, core.String webPropertyId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PUT", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Webproperty.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ManagementWebpropertyUserLinksResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ManagementWebpropertyUserLinksResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Removes a user from the given web property. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to delete the user link for. |
+ * |
+ * [webPropertyId] - Web Property ID to delete the user link for. |
+ * |
+ * [linkId] - Link ID to delete the user link for. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future delete(core.String accountId, core.String webPropertyId, core.String linkId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (linkId == null) { |
+ throw new core.ArgumentError("Parameter linkId is required."); |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/entityUserLinks/' + common_internal.Escaper.ecapeVariable('$linkId'); |
+ |
+ var _response = _requester.request(_url, |
+ "DELETE", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+ /** |
+ * Adds a new user to the given web property. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to create the user link for. |
+ * |
+ * [webPropertyId] - Web Property ID to create the user link for. |
+ * |
+ * Completes with a [EntityUserLink]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<EntityUserLink> insert(EntityUserLink request, core.String accountId, core.String webPropertyId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/entityUserLinks'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new EntityUserLink.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Lists webProperty-user links for a given web property. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID which the given web property belongs to. |
+ * |
+ * [webPropertyId] - Web Property ID for the webProperty-user links to |
+ * retrieve. Can either be a specific web property ID or '~all', which refers |
+ * to all the web properties that user has access to. |
+ * |
+ * [max_results] - The maximum number of webProperty-user Links to include in |
+ * this response. |
+ * |
+ * [start_index] - An index of the first webProperty-user link to retrieve. |
+ * Use this parameter as a pagination mechanism along with the max-results |
+ * parameter. |
+ * |
+ * Completes with a [EntityUserLinks]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<EntityUserLinks> list(core.String accountId, core.String webPropertyId, {core.int max_results, core.int start_index}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (max_results != null) { |
+ _queryParams["max-results"] = ["${max_results}"]; |
+ } |
+ if (start_index != null) { |
+ _queryParams["start-index"] = ["${start_index}"]; |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/entityUserLinks'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new EntityUserLinks.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates permissions for an existing user on the given web property. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [accountId] - Account ID to update the account-user link for. |
+ * |
+ * [webPropertyId] - Web property ID to update the account-user link for. |
+ * |
+ * [linkId] - Link ID to update the account-user link for. |
+ * |
+ * Completes with a [EntityUserLink]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<EntityUserLink> update(EntityUserLink request, core.String accountId, core.String webPropertyId, core.String linkId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (accountId == null) { |
+ throw new core.ArgumentError("Parameter accountId is required."); |
+ } |
+ if (webPropertyId == null) { |
+ throw new core.ArgumentError("Parameter webPropertyId is required."); |
+ } |
+ if (linkId == null) { |
+ throw new core.ArgumentError("Parameter linkId is required."); |
+ } |
+ |
+ |
+ _url = 'management/accounts/' + common_internal.Escaper.ecapeVariable('$accountId') + '/webproperties/' + common_internal.Escaper.ecapeVariable('$webPropertyId') + '/entityUserLinks/' + common_internal.Escaper.ecapeVariable('$linkId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PUT", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new EntityUserLink.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class MetadataResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ MetadataColumnsResourceApi get columns => new MetadataColumnsResourceApi(_requester); |
+ |
+ MetadataResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class MetadataColumnsResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ MetadataColumnsResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Lists all columns for a report type |
+ * |
+ * Request parameters: |
+ * |
+ * [reportType] - Report type. Allowed Values: 'ga'. Where 'ga' corresponds to |
+ * the Core Reporting API |
+ * Value must have pattern "ga". |
+ * |
+ * Completes with a [Columns]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Columns> list(core.String reportType) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (reportType == null) { |
+ throw new core.ArgumentError("Parameter reportType is required."); |
+ } |
+ |
+ |
+ _url = 'metadata/' + common_internal.Escaper.ecapeVariable('$reportType') + '/columns'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Columns.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ProvisioningResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ProvisioningResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Creates an account ticket. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * Completes with a [AccountTicket]. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<AccountTicket> createAccountTicket(AccountTicket request) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ |
+ |
+ _url = 'provisioning/createAccountTicket'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new AccountTicket.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+ |
+/** |
+ * Child link for an account entry. Points to the list of web properties for |
+ * this account. |
+ */ |
+class AccountChildLink { |
+ /** Link to the list of web properties for this account. */ |
+ core.String href; |
+ |
+ /** Type of the child link. Its value is "analytics#webproperties". */ |
+ core.String type; |
+ |
+ |
+ AccountChildLink(); |
+ |
+ AccountChildLink.fromJson(core.Map _json) { |
+ if (_json.containsKey("href")) { |
+ href = _json["href"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (href != null) { |
+ _json["href"] = href; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Permissions the user has for this account. */ |
+class AccountPermissions { |
+ /** |
+ * All the permissions that the user has for this account. These include any |
+ * implied permissions (e.g., EDIT implies VIEW). |
+ */ |
+ core.List<core.String> effective; |
+ |
+ |
+ AccountPermissions(); |
+ |
+ AccountPermissions.fromJson(core.Map _json) { |
+ if (_json.containsKey("effective")) { |
+ effective = _json["effective"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (effective != null) { |
+ _json["effective"] = effective; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** JSON template for Analytics account entry. */ |
+class Account { |
+ /** |
+ * Child link for an account entry. Points to the list of web properties for |
+ * this account. |
+ */ |
+ AccountChildLink childLink; |
+ |
+ /** Time the account was created. */ |
+ core.DateTime created; |
+ |
+ /** Account ID. */ |
+ core.String id; |
+ |
+ /** Resource type for Analytics account. */ |
+ core.String kind; |
+ |
+ /** Account name. */ |
+ core.String name; |
+ |
+ /** Permissions the user has for this account. */ |
+ AccountPermissions permissions; |
+ |
+ /** Link for this account. */ |
+ core.String selfLink; |
+ |
+ /** Time the account was last modified. */ |
+ core.DateTime updated; |
+ |
+ |
+ Account(); |
+ |
+ Account.fromJson(core.Map _json) { |
+ if (_json.containsKey("childLink")) { |
+ childLink = new AccountChildLink.fromJson(_json["childLink"]); |
+ } |
+ if (_json.containsKey("created")) { |
+ created = core.DateTime.parse(_json["created"]); |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("permissions")) { |
+ permissions = new AccountPermissions.fromJson(_json["permissions"]); |
+ } |
+ if (_json.containsKey("selfLink")) { |
+ selfLink = _json["selfLink"]; |
+ } |
+ if (_json.containsKey("updated")) { |
+ updated = core.DateTime.parse(_json["updated"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (childLink != null) { |
+ _json["childLink"] = (childLink).toJson(); |
+ } |
+ if (created != null) { |
+ _json["created"] = (created).toIso8601String(); |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (permissions != null) { |
+ _json["permissions"] = (permissions).toJson(); |
+ } |
+ if (selfLink != null) { |
+ _json["selfLink"] = selfLink; |
+ } |
+ if (updated != null) { |
+ _json["updated"] = (updated).toIso8601String(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** JSON template for a linked account. */ |
+class AccountRef { |
+ /** Link for this account. */ |
+ core.String href; |
+ |
+ /** Account ID. */ |
+ core.String id; |
+ |
+ /** Analytics account reference. */ |
+ core.String kind; |
+ |
+ /** Account name. */ |
+ core.String name; |
+ |
+ |
+ AccountRef(); |
+ |
+ AccountRef.fromJson(core.Map _json) { |
+ if (_json.containsKey("href")) { |
+ href = _json["href"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (href != null) { |
+ _json["href"] = href; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * An AccountSummary collection lists a summary of accounts, properties and |
+ * views (profiles) to which the user has access. Each resource in the |
+ * collection corresponds to a single AccountSummary. |
+ */ |
+class AccountSummaries { |
+ /** A list of AccountSummaries. */ |
+ core.List<AccountSummary> items; |
+ |
+ /** |
+ * The maximum number of resources the response can contain, regardless of the |
+ * actual number of resources returned. Its value ranges from 1 to 1000 with a |
+ * value of 1000 by default, or otherwise specified by the max-results query |
+ * parameter. |
+ */ |
+ core.int itemsPerPage; |
+ |
+ /** Collection type. */ |
+ core.String kind; |
+ |
+ /** Link to next page for this AccountSummary collection. */ |
+ core.String nextLink; |
+ |
+ /** Link to previous page for this AccountSummary collection. */ |
+ core.String previousLink; |
+ |
+ /** |
+ * The starting index of the resources, which is 1 by default or otherwise |
+ * specified by the start-index query parameter. |
+ */ |
+ core.int startIndex; |
+ |
+ /** |
+ * The total number of results for the query, regardless of the number of |
+ * results in the response. |
+ */ |
+ core.int totalResults; |
+ |
+ /** Email ID of the authenticated user */ |
+ core.String username; |
+ |
+ |
+ AccountSummaries(); |
+ |
+ AccountSummaries.fromJson(core.Map _json) { |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new AccountSummary.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("itemsPerPage")) { |
+ itemsPerPage = _json["itemsPerPage"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextLink")) { |
+ nextLink = _json["nextLink"]; |
+ } |
+ if (_json.containsKey("previousLink")) { |
+ previousLink = _json["previousLink"]; |
+ } |
+ if (_json.containsKey("startIndex")) { |
+ startIndex = _json["startIndex"]; |
+ } |
+ if (_json.containsKey("totalResults")) { |
+ totalResults = _json["totalResults"]; |
+ } |
+ if (_json.containsKey("username")) { |
+ username = _json["username"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (itemsPerPage != null) { |
+ _json["itemsPerPage"] = itemsPerPage; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextLink != null) { |
+ _json["nextLink"] = nextLink; |
+ } |
+ if (previousLink != null) { |
+ _json["previousLink"] = previousLink; |
+ } |
+ if (startIndex != null) { |
+ _json["startIndex"] = startIndex; |
+ } |
+ if (totalResults != null) { |
+ _json["totalResults"] = totalResults; |
+ } |
+ if (username != null) { |
+ _json["username"] = username; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * JSON template for an Analytics AccountSummary. An AccountSummary is a |
+ * lightweight tree comprised of properties/profiles. |
+ */ |
+class AccountSummary { |
+ /** Account ID. */ |
+ core.String id; |
+ |
+ /** Resource type for Analytics AccountSummary. */ |
+ core.String kind; |
+ |
+ /** Account name. */ |
+ core.String name; |
+ |
+ /** List of web properties under this account. */ |
+ core.List<WebPropertySummary> webProperties; |
+ |
+ |
+ AccountSummary(); |
+ |
+ AccountSummary.fromJson(core.Map _json) { |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("webProperties")) { |
+ webProperties = _json["webProperties"].map((value) => new WebPropertySummary.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (webProperties != null) { |
+ _json["webProperties"] = webProperties.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * JSON template for an Analytics account ticket. The account ticket consists of |
+ * the ticket ID and the basic information for the account, property and |
+ * profile. |
+ */ |
+class AccountTicket { |
+ /** Account for this ticket. */ |
+ Account account; |
+ |
+ /** Account ticket ID used to access the account ticket. */ |
+ core.String id; |
+ |
+ /** Resource type for account ticket. */ |
+ core.String kind; |
+ |
+ /** View (Profile) for the account. */ |
+ Profile profile; |
+ |
+ /** |
+ * Redirect URI where the user will be sent after accepting Terms of Service. |
+ * Must be configured in APIs console as a callback URL. |
+ */ |
+ core.String redirectUri; |
+ |
+ /** Web property for the account. */ |
+ Webproperty webproperty; |
+ |
+ |
+ AccountTicket(); |
+ |
+ AccountTicket.fromJson(core.Map _json) { |
+ if (_json.containsKey("account")) { |
+ account = new Account.fromJson(_json["account"]); |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("profile")) { |
+ profile = new Profile.fromJson(_json["profile"]); |
+ } |
+ if (_json.containsKey("redirectUri")) { |
+ redirectUri = _json["redirectUri"]; |
+ } |
+ if (_json.containsKey("webproperty")) { |
+ webproperty = new Webproperty.fromJson(_json["webproperty"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (account != null) { |
+ _json["account"] = (account).toJson(); |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (profile != null) { |
+ _json["profile"] = (profile).toJson(); |
+ } |
+ if (redirectUri != null) { |
+ _json["redirectUri"] = redirectUri; |
+ } |
+ if (webproperty != null) { |
+ _json["webproperty"] = (webproperty).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * An account collection provides a list of Analytics accounts to which a user |
+ * has access. The account collection is the entry point to all management |
+ * information. Each resource in the collection corresponds to a single |
+ * Analytics account. |
+ */ |
+class Accounts { |
+ /** A list of accounts. */ |
+ core.List<Account> items; |
+ |
+ /** |
+ * The maximum number of entries the response can contain, regardless of the |
+ * actual number of entries returned. Its value ranges from 1 to 1000 with a |
+ * value of 1000 by default, or otherwise specified by the max-results query |
+ * parameter. |
+ */ |
+ core.int itemsPerPage; |
+ |
+ /** Collection type. */ |
+ core.String kind; |
+ |
+ /** Next link for this account collection. */ |
+ core.String nextLink; |
+ |
+ /** Previous link for this account collection. */ |
+ core.String previousLink; |
+ |
+ /** |
+ * The starting index of the entries, which is 1 by default or otherwise |
+ * specified by the start-index query parameter. |
+ */ |
+ core.int startIndex; |
+ |
+ /** |
+ * The total number of results for the query, regardless of the number of |
+ * results in the response. |
+ */ |
+ core.int totalResults; |
+ |
+ /** Email ID of the authenticated user */ |
+ core.String username; |
+ |
+ |
+ Accounts(); |
+ |
+ Accounts.fromJson(core.Map _json) { |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new Account.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("itemsPerPage")) { |
+ itemsPerPage = _json["itemsPerPage"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextLink")) { |
+ nextLink = _json["nextLink"]; |
+ } |
+ if (_json.containsKey("previousLink")) { |
+ previousLink = _json["previousLink"]; |
+ } |
+ if (_json.containsKey("startIndex")) { |
+ startIndex = _json["startIndex"]; |
+ } |
+ if (_json.containsKey("totalResults")) { |
+ totalResults = _json["totalResults"]; |
+ } |
+ if (_json.containsKey("username")) { |
+ username = _json["username"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (itemsPerPage != null) { |
+ _json["itemsPerPage"] = itemsPerPage; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextLink != null) { |
+ _json["nextLink"] = nextLink; |
+ } |
+ if (previousLink != null) { |
+ _json["previousLink"] = previousLink; |
+ } |
+ if (startIndex != null) { |
+ _json["startIndex"] = startIndex; |
+ } |
+ if (totalResults != null) { |
+ _json["totalResults"] = totalResults; |
+ } |
+ if (username != null) { |
+ _json["username"] = username; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** JSON template for an AdWords account. */ |
+class AdWordsAccount { |
+ /** |
+ * True if auto-tagging is enabled on the AdWords account. Read-only after the |
+ * insert operation. |
+ */ |
+ core.bool autoTaggingEnabled; |
+ |
+ /** Customer ID. This field is required when creating an AdWords link. */ |
+ core.String customerId; |
+ |
+ /** Resource type for AdWords account. */ |
+ core.String kind; |
+ |
+ |
+ AdWordsAccount(); |
+ |
+ AdWordsAccount.fromJson(core.Map _json) { |
+ if (_json.containsKey("autoTaggingEnabled")) { |
+ autoTaggingEnabled = _json["autoTaggingEnabled"]; |
+ } |
+ if (_json.containsKey("customerId")) { |
+ customerId = _json["customerId"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (autoTaggingEnabled != null) { |
+ _json["autoTaggingEnabled"] = autoTaggingEnabled; |
+ } |
+ if (customerId != null) { |
+ _json["customerId"] = customerId; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Request template for the delete upload data request. */ |
+class AnalyticsDataimportDeleteUploadDataRequest { |
+ /** A list of upload UIDs. */ |
+ core.List<core.String> customDataImportUids; |
+ |
+ |
+ AnalyticsDataimportDeleteUploadDataRequest(); |
+ |
+ AnalyticsDataimportDeleteUploadDataRequest.fromJson(core.Map _json) { |
+ if (_json.containsKey("customDataImportUids")) { |
+ customDataImportUids = _json["customDataImportUids"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (customDataImportUids != null) { |
+ _json["customDataImportUids"] = customDataImportUids; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** JSON template for a metadata column. */ |
+class Column { |
+ /** Map of attribute name and value for this column. */ |
+ core.Map<core.String, core.String> attributes; |
+ |
+ /** Column id. */ |
+ core.String id; |
+ |
+ /** Resource type for Analytics column. */ |
+ core.String kind; |
+ |
+ |
+ Column(); |
+ |
+ Column.fromJson(core.Map _json) { |
+ if (_json.containsKey("attributes")) { |
+ attributes = _json["attributes"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (attributes != null) { |
+ _json["attributes"] = attributes; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Lists columns (dimensions and metrics) for a particular report type. */ |
+class Columns { |
+ /** List of attributes names returned by columns. */ |
+ core.List<core.String> attributeNames; |
+ |
+ /** |
+ * Etag of collection. This etag can be compared with the last response etag |
+ * to check if response has changed. |
+ */ |
+ core.String etag; |
+ |
+ /** List of columns for a report type. */ |
+ core.List<Column> items; |
+ |
+ /** Collection type. */ |
+ core.String kind; |
+ |
+ /** Total number of columns returned in the response. */ |
+ core.int totalResults; |
+ |
+ |
+ Columns(); |
+ |
+ Columns.fromJson(core.Map _json) { |
+ if (_json.containsKey("attributeNames")) { |
+ attributeNames = _json["attributeNames"]; |
+ } |
+ if (_json.containsKey("etag")) { |
+ etag = _json["etag"]; |
+ } |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new Column.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("totalResults")) { |
+ totalResults = _json["totalResults"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (attributeNames != null) { |
+ _json["attributeNames"] = attributeNames; |
+ } |
+ if (etag != null) { |
+ _json["etag"] = etag; |
+ } |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (totalResults != null) { |
+ _json["totalResults"] = totalResults; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class CustomDataSourceChildLink { |
+ /** |
+ * Link to the list of daily uploads for this custom data source. Link to the |
+ * list of uploads for this custom data source. |
+ */ |
+ core.String href; |
+ |
+ /** Value is "analytics#dailyUploads". Value is "analytics#uploads". */ |
+ core.String type; |
+ |
+ |
+ CustomDataSourceChildLink(); |
+ |
+ CustomDataSourceChildLink.fromJson(core.Map _json) { |
+ if (_json.containsKey("href")) { |
+ href = _json["href"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (href != null) { |
+ _json["href"] = href; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Parent link for this custom data source. Points to the web property to which |
+ * this custom data source belongs. |
+ */ |
+class CustomDataSourceParentLink { |
+ /** Link to the web property to which this custom data source belongs. */ |
+ core.String href; |
+ |
+ /** Value is "analytics#webproperty". */ |
+ core.String type; |
+ |
+ |
+ CustomDataSourceParentLink(); |
+ |
+ CustomDataSourceParentLink.fromJson(core.Map _json) { |
+ if (_json.containsKey("href")) { |
+ href = _json["href"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (href != null) { |
+ _json["href"] = href; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** JSON template for an Analytics custom data source. */ |
+class CustomDataSource { |
+ /** Account ID to which this custom data source belongs. */ |
+ core.String accountId; |
+ |
+ /** Not documented yet. */ |
+ CustomDataSourceChildLink childLink; |
+ |
+ /** Time this custom data source was created. */ |
+ core.DateTime created; |
+ |
+ /** Description of custom data source. */ |
+ core.String description; |
+ |
+ /** Custom data source ID. */ |
+ core.String id; |
+ |
+ /** Not documented yet. */ |
+ core.String importBehavior; |
+ |
+ /** Resource type for Analytics custom data source. */ |
+ core.String kind; |
+ |
+ /** Name of this custom data source. */ |
+ core.String name; |
+ |
+ /** |
+ * Parent link for this custom data source. Points to the web property to |
+ * which this custom data source belongs. |
+ */ |
+ CustomDataSourceParentLink parentLink; |
+ |
+ /** IDs of views (profiles) linked to the custom data source. */ |
+ core.List<core.String> profilesLinked; |
+ |
+ /** Link for this Analytics custom data source. */ |
+ core.String selfLink; |
+ |
+ /** Type of the custom data source. */ |
+ core.String type; |
+ |
+ /** Time this custom data source was last modified. */ |
+ core.DateTime updated; |
+ |
+ /** Not documented yet. */ |
+ core.String uploadType; |
+ |
+ /** |
+ * Web property ID of the form UA-XXXXX-YY to which this custom data source |
+ * belongs. |
+ */ |
+ core.String webPropertyId; |
+ |
+ |
+ CustomDataSource(); |
+ |
+ CustomDataSource.fromJson(core.Map _json) { |
+ if (_json.containsKey("accountId")) { |
+ accountId = _json["accountId"]; |
+ } |
+ if (_json.containsKey("childLink")) { |
+ childLink = new CustomDataSourceChildLink.fromJson(_json["childLink"]); |
+ } |
+ if (_json.containsKey("created")) { |
+ created = core.DateTime.parse(_json["created"]); |
+ } |
+ if (_json.containsKey("description")) { |
+ description = _json["description"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("importBehavior")) { |
+ importBehavior = _json["importBehavior"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("parentLink")) { |
+ parentLink = new CustomDataSourceParentLink.fromJson(_json["parentLink"]); |
+ } |
+ if (_json.containsKey("profilesLinked")) { |
+ profilesLinked = _json["profilesLinked"]; |
+ } |
+ if (_json.containsKey("selfLink")) { |
+ selfLink = _json["selfLink"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ if (_json.containsKey("updated")) { |
+ updated = core.DateTime.parse(_json["updated"]); |
+ } |
+ if (_json.containsKey("uploadType")) { |
+ uploadType = _json["uploadType"]; |
+ } |
+ if (_json.containsKey("webPropertyId")) { |
+ webPropertyId = _json["webPropertyId"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (accountId != null) { |
+ _json["accountId"] = accountId; |
+ } |
+ if (childLink != null) { |
+ _json["childLink"] = (childLink).toJson(); |
+ } |
+ if (created != null) { |
+ _json["created"] = (created).toIso8601String(); |
+ } |
+ if (description != null) { |
+ _json["description"] = description; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (importBehavior != null) { |
+ _json["importBehavior"] = importBehavior; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (parentLink != null) { |
+ _json["parentLink"] = (parentLink).toJson(); |
+ } |
+ if (profilesLinked != null) { |
+ _json["profilesLinked"] = profilesLinked; |
+ } |
+ if (selfLink != null) { |
+ _json["selfLink"] = selfLink; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ if (updated != null) { |
+ _json["updated"] = (updated).toIso8601String(); |
+ } |
+ if (uploadType != null) { |
+ _json["uploadType"] = uploadType; |
+ } |
+ if (webPropertyId != null) { |
+ _json["webPropertyId"] = webPropertyId; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Lists Analytics custom data sources to which the user has access. Each |
+ * resource in the collection corresponds to a single Analytics custom data |
+ * source. |
+ */ |
+class CustomDataSources { |
+ /** Collection of custom data sources. */ |
+ core.List<CustomDataSource> items; |
+ |
+ /** |
+ * The maximum number of resources the response can contain, regardless of the |
+ * actual number of resources returned. Its value ranges from 1 to 1000 with a |
+ * value of 1000 by default, or otherwise specified by the max-results query |
+ * parameter. |
+ */ |
+ core.int itemsPerPage; |
+ |
+ /** Collection type. */ |
+ core.String kind; |
+ |
+ /** Link to next page for this custom data source collection. */ |
+ core.String nextLink; |
+ |
+ /** Link to previous page for this custom data source collection. */ |
+ core.String previousLink; |
+ |
+ /** |
+ * The starting index of the resources, which is 1 by default or otherwise |
+ * specified by the start-index query parameter. |
+ */ |
+ core.int startIndex; |
+ |
+ /** |
+ * The total number of results for the query, regardless of the number of |
+ * results in the response. |
+ */ |
+ core.int totalResults; |
+ |
+ /** Email ID of the authenticated user */ |
+ core.String username; |
+ |
+ |
+ CustomDataSources(); |
+ |
+ CustomDataSources.fromJson(core.Map _json) { |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new CustomDataSource.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("itemsPerPage")) { |
+ itemsPerPage = _json["itemsPerPage"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextLink")) { |
+ nextLink = _json["nextLink"]; |
+ } |
+ if (_json.containsKey("previousLink")) { |
+ previousLink = _json["previousLink"]; |
+ } |
+ if (_json.containsKey("startIndex")) { |
+ startIndex = _json["startIndex"]; |
+ } |
+ if (_json.containsKey("totalResults")) { |
+ totalResults = _json["totalResults"]; |
+ } |
+ if (_json.containsKey("username")) { |
+ username = _json["username"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (itemsPerPage != null) { |
+ _json["itemsPerPage"] = itemsPerPage; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextLink != null) { |
+ _json["nextLink"] = nextLink; |
+ } |
+ if (previousLink != null) { |
+ _json["previousLink"] = previousLink; |
+ } |
+ if (startIndex != null) { |
+ _json["startIndex"] = startIndex; |
+ } |
+ if (totalResults != null) { |
+ _json["totalResults"] = totalResults; |
+ } |
+ if (username != null) { |
+ _json["username"] = username; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Parent link for a daily upload. Points to the custom data source to which |
+ * this daily upload belongs. |
+ */ |
+class DailyUploadParentLink { |
+ /** Link to the custom data source to which this daily upload belongs. */ |
+ core.String href; |
+ |
+ /** Value is "analytics#customDataSource". */ |
+ core.String type; |
+ |
+ |
+ DailyUploadParentLink(); |
+ |
+ DailyUploadParentLink.fromJson(core.Map _json) { |
+ if (_json.containsKey("href")) { |
+ href = _json["href"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (href != null) { |
+ _json["href"] = href; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class DailyUploadRecentChanges { |
+ /** The type of change: APPEND, RESET, or DELETE. */ |
+ core.String change; |
+ |
+ /** The time when the change occurred. */ |
+ core.DateTime time; |
+ |
+ |
+ DailyUploadRecentChanges(); |
+ |
+ DailyUploadRecentChanges.fromJson(core.Map _json) { |
+ if (_json.containsKey("change")) { |
+ change = _json["change"]; |
+ } |
+ if (_json.containsKey("time")) { |
+ time = core.DateTime.parse(_json["time"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (change != null) { |
+ _json["change"] = change; |
+ } |
+ if (time != null) { |
+ _json["time"] = (time).toIso8601String(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Metadata for daily upload entity. */ |
+class DailyUpload { |
+ /** Account ID to which this daily upload belongs. */ |
+ core.String accountId; |
+ |
+ /** Number of appends for this date. */ |
+ core.int appendCount; |
+ |
+ /** Time this daily upload was created. */ |
+ core.DateTime createdTime; |
+ |
+ /** Custom data source ID to which this daily upload belongs. */ |
+ core.String customDataSourceId; |
+ |
+ /** Date associated with daily upload. */ |
+ core.String date; |
+ |
+ /** Resource type for Analytics daily upload. */ |
+ core.String kind; |
+ |
+ /** Time this daily upload was last modified. */ |
+ core.DateTime modifiedTime; |
+ |
+ /** |
+ * Parent link for a daily upload. Points to the custom data source to which |
+ * this daily upload belongs. |
+ */ |
+ DailyUploadParentLink parentLink; |
+ |
+ /** Change log for last 10 changes in chronological order. */ |
+ core.List<DailyUploadRecentChanges> recentChanges; |
+ |
+ /** Link for this daily upload. */ |
+ core.String selfLink; |
+ |
+ /** |
+ * Web property ID of the form UA-XXXXX-YY to which this daily upload belongs. |
+ */ |
+ core.String webPropertyId; |
+ |
+ |
+ DailyUpload(); |
+ |
+ DailyUpload.fromJson(core.Map _json) { |
+ if (_json.containsKey("accountId")) { |
+ accountId = _json["accountId"]; |
+ } |
+ if (_json.containsKey("appendCount")) { |
+ appendCount = _json["appendCount"]; |
+ } |
+ if (_json.containsKey("createdTime")) { |
+ createdTime = core.DateTime.parse(_json["createdTime"]); |
+ } |
+ if (_json.containsKey("customDataSourceId")) { |
+ customDataSourceId = _json["customDataSourceId"]; |
+ } |
+ if (_json.containsKey("date")) { |
+ date = _json["date"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("modifiedTime")) { |
+ modifiedTime = core.DateTime.parse(_json["modifiedTime"]); |
+ } |
+ if (_json.containsKey("parentLink")) { |
+ parentLink = new DailyUploadParentLink.fromJson(_json["parentLink"]); |
+ } |
+ if (_json.containsKey("recentChanges")) { |
+ recentChanges = _json["recentChanges"].map((value) => new DailyUploadRecentChanges.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("selfLink")) { |
+ selfLink = _json["selfLink"]; |
+ } |
+ if (_json.containsKey("webPropertyId")) { |
+ webPropertyId = _json["webPropertyId"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (accountId != null) { |
+ _json["accountId"] = accountId; |
+ } |
+ if (appendCount != null) { |
+ _json["appendCount"] = appendCount; |
+ } |
+ if (createdTime != null) { |
+ _json["createdTime"] = (createdTime).toIso8601String(); |
+ } |
+ if (customDataSourceId != null) { |
+ _json["customDataSourceId"] = customDataSourceId; |
+ } |
+ if (date != null) { |
+ _json["date"] = date; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (modifiedTime != null) { |
+ _json["modifiedTime"] = (modifiedTime).toIso8601String(); |
+ } |
+ if (parentLink != null) { |
+ _json["parentLink"] = (parentLink).toJson(); |
+ } |
+ if (recentChanges != null) { |
+ _json["recentChanges"] = recentChanges.map((value) => (value).toJson()).toList(); |
+ } |
+ if (selfLink != null) { |
+ _json["selfLink"] = selfLink; |
+ } |
+ if (webPropertyId != null) { |
+ _json["webPropertyId"] = webPropertyId; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Metadata returned for a successful append operation. */ |
+class DailyUploadAppend { |
+ /** Account Id to which this daily upload append belongs. */ |
+ core.String accountId; |
+ |
+ /** Append number. */ |
+ core.int appendNumber; |
+ |
+ /** Custom data source Id to which this daily upload append belongs. */ |
+ core.String customDataSourceId; |
+ |
+ /** Date associated with daily upload append. */ |
+ core.String date; |
+ |
+ /** Resource type for Analytics daily upload append. */ |
+ core.String kind; |
+ |
+ /** Not documented yet. */ |
+ core.String nextAppendLink; |
+ |
+ /** |
+ * Web property Id of the form UA-XXXXX-YY to which this daily upload append |
+ * belongs. |
+ */ |
+ core.String webPropertyId; |
+ |
+ |
+ DailyUploadAppend(); |
+ |
+ DailyUploadAppend.fromJson(core.Map _json) { |
+ if (_json.containsKey("accountId")) { |
+ accountId = _json["accountId"]; |
+ } |
+ if (_json.containsKey("appendNumber")) { |
+ appendNumber = _json["appendNumber"]; |
+ } |
+ if (_json.containsKey("customDataSourceId")) { |
+ customDataSourceId = _json["customDataSourceId"]; |
+ } |
+ if (_json.containsKey("date")) { |
+ date = _json["date"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextAppendLink")) { |
+ nextAppendLink = _json["nextAppendLink"]; |
+ } |
+ if (_json.containsKey("webPropertyId")) { |
+ webPropertyId = _json["webPropertyId"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (accountId != null) { |
+ _json["accountId"] = accountId; |
+ } |
+ if (appendNumber != null) { |
+ _json["appendNumber"] = appendNumber; |
+ } |
+ if (customDataSourceId != null) { |
+ _json["customDataSourceId"] = customDataSourceId; |
+ } |
+ if (date != null) { |
+ _json["date"] = date; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextAppendLink != null) { |
+ _json["nextAppendLink"] = nextAppendLink; |
+ } |
+ if (webPropertyId != null) { |
+ _json["webPropertyId"] = webPropertyId; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * A daily upload collection lists Analytics daily uploads to which the user has |
+ * access. Each resource in the collection corresponds to a single Analytics |
+ * daily upload. |
+ */ |
+class DailyUploads { |
+ /** A collection of daily uploads. */ |
+ core.List<DailyUpload> items; |
+ |
+ /** |
+ * The maximum number of resources the response can contain, regardless of the |
+ * actual number of resources returned. Its value ranges from 1 to 1000 with a |
+ * value of 1000 by default, or otherwise specified by the max-results query |
+ * parameter. |
+ */ |
+ core.int itemsPerPage; |
+ |
+ /** Collection type. Value is analytics#dailyUploads. */ |
+ core.String kind; |
+ |
+ /** Link to next page for this daily upload collection. */ |
+ core.String nextLink; |
+ |
+ /** Link to previous page for this daily upload collection. */ |
+ core.String previousLink; |
+ |
+ /** |
+ * The starting index of the resources, which is 1 by default or otherwise |
+ * specified by the start-index query parameter. |
+ */ |
+ core.int startIndex; |
+ |
+ /** |
+ * The total number of results for the query, regardless of the number of |
+ * results in the response. |
+ */ |
+ core.int totalResults; |
+ |
+ /** Email ID of the authenticated user */ |
+ core.String username; |
+ |
+ |
+ DailyUploads(); |
+ |
+ DailyUploads.fromJson(core.Map _json) { |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new DailyUpload.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("itemsPerPage")) { |
+ itemsPerPage = _json["itemsPerPage"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextLink")) { |
+ nextLink = _json["nextLink"]; |
+ } |
+ if (_json.containsKey("previousLink")) { |
+ previousLink = _json["previousLink"]; |
+ } |
+ if (_json.containsKey("startIndex")) { |
+ startIndex = _json["startIndex"]; |
+ } |
+ if (_json.containsKey("totalResults")) { |
+ totalResults = _json["totalResults"]; |
+ } |
+ if (_json.containsKey("username")) { |
+ username = _json["username"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (itemsPerPage != null) { |
+ _json["itemsPerPage"] = itemsPerPage; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextLink != null) { |
+ _json["nextLink"] = nextLink; |
+ } |
+ if (previousLink != null) { |
+ _json["previousLink"] = previousLink; |
+ } |
+ if (startIndex != null) { |
+ _json["startIndex"] = startIndex; |
+ } |
+ if (totalResults != null) { |
+ _json["totalResults"] = totalResults; |
+ } |
+ if (username != null) { |
+ _json["username"] = username; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Web property being linked. */ |
+class EntityAdWordsLinkEntity { |
+ /** Not documented yet. */ |
+ WebPropertyRef webPropertyRef; |
+ |
+ |
+ EntityAdWordsLinkEntity(); |
+ |
+ EntityAdWordsLinkEntity.fromJson(core.Map _json) { |
+ if (_json.containsKey("webPropertyRef")) { |
+ webPropertyRef = new WebPropertyRef.fromJson(_json["webPropertyRef"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (webPropertyRef != null) { |
+ _json["webPropertyRef"] = (webPropertyRef).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** JSON template for Analytics Entity AdWords Link. */ |
+class EntityAdWordsLink { |
+ /** |
+ * A list of AdWords client accounts. These cannot be MCC accounts. This field |
+ * is required when creating an AdWords link. It cannot be empty. |
+ */ |
+ core.List<AdWordsAccount> adWordsAccounts; |
+ |
+ /** Web property being linked. */ |
+ EntityAdWordsLinkEntity entity; |
+ |
+ /** Entity AdWords link ID */ |
+ core.String id; |
+ |
+ /** Resource type for entity AdWords link. */ |
+ core.String kind; |
+ |
+ /** |
+ * Name of the link. This field is required when creating an AdWords link. |
+ */ |
+ core.String name; |
+ |
+ /** IDs of linked Views (Profiles) represented as strings. */ |
+ core.List<core.String> profileIds; |
+ |
+ /** URL link for this Google Analytics - Google AdWords link. */ |
+ core.String selfLink; |
+ |
+ |
+ EntityAdWordsLink(); |
+ |
+ EntityAdWordsLink.fromJson(core.Map _json) { |
+ if (_json.containsKey("adWordsAccounts")) { |
+ adWordsAccounts = _json["adWordsAccounts"].map((value) => new AdWordsAccount.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("entity")) { |
+ entity = new EntityAdWordsLinkEntity.fromJson(_json["entity"]); |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("profileIds")) { |
+ profileIds = _json["profileIds"]; |
+ } |
+ if (_json.containsKey("selfLink")) { |
+ selfLink = _json["selfLink"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (adWordsAccounts != null) { |
+ _json["adWordsAccounts"] = adWordsAccounts.map((value) => (value).toJson()).toList(); |
+ } |
+ if (entity != null) { |
+ _json["entity"] = (entity).toJson(); |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (profileIds != null) { |
+ _json["profileIds"] = profileIds; |
+ } |
+ if (selfLink != null) { |
+ _json["selfLink"] = selfLink; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * An entity AdWords link collection provides a list of GA-AdWords links Each |
+ * resource in this collection corresponds to a single link. |
+ */ |
+class EntityAdWordsLinks { |
+ /** A list of entity AdWords links. */ |
+ core.List<EntityAdWordsLink> items; |
+ |
+ /** |
+ * The maximum number of entries the response can contain, regardless of the |
+ * actual number of entries returned. Its value ranges from 1 to 1000 with a |
+ * value of 1000 by default, or otherwise specified by the max-results query |
+ * parameter. |
+ */ |
+ core.int itemsPerPage; |
+ |
+ /** Collection type. */ |
+ core.String kind; |
+ |
+ /** Next link for this AdWords link collection. */ |
+ core.String nextLink; |
+ |
+ /** Previous link for this AdWords link collection. */ |
+ core.String previousLink; |
+ |
+ /** |
+ * The starting index of the entries, which is 1 by default or otherwise |
+ * specified by the start-index query parameter. |
+ */ |
+ core.int startIndex; |
+ |
+ /** |
+ * The total number of results for the query, regardless of the number of |
+ * results in the response. |
+ */ |
+ core.int totalResults; |
+ |
+ |
+ EntityAdWordsLinks(); |
+ |
+ EntityAdWordsLinks.fromJson(core.Map _json) { |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new EntityAdWordsLink.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("itemsPerPage")) { |
+ itemsPerPage = _json["itemsPerPage"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextLink")) { |
+ nextLink = _json["nextLink"]; |
+ } |
+ if (_json.containsKey("previousLink")) { |
+ previousLink = _json["previousLink"]; |
+ } |
+ if (_json.containsKey("startIndex")) { |
+ startIndex = _json["startIndex"]; |
+ } |
+ if (_json.containsKey("totalResults")) { |
+ totalResults = _json["totalResults"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (itemsPerPage != null) { |
+ _json["itemsPerPage"] = itemsPerPage; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextLink != null) { |
+ _json["nextLink"] = nextLink; |
+ } |
+ if (previousLink != null) { |
+ _json["previousLink"] = previousLink; |
+ } |
+ if (startIndex != null) { |
+ _json["startIndex"] = startIndex; |
+ } |
+ if (totalResults != null) { |
+ _json["totalResults"] = totalResults; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Entity for this link. It can be an account, a web property, or a view |
+ * (profile). |
+ */ |
+class EntityUserLinkEntity { |
+ /** Account for this link. */ |
+ AccountRef accountRef; |
+ |
+ /** View (Profile) for this link. */ |
+ ProfileRef profileRef; |
+ |
+ /** Web property for this link. */ |
+ WebPropertyRef webPropertyRef; |
+ |
+ |
+ EntityUserLinkEntity(); |
+ |
+ EntityUserLinkEntity.fromJson(core.Map _json) { |
+ if (_json.containsKey("accountRef")) { |
+ accountRef = new AccountRef.fromJson(_json["accountRef"]); |
+ } |
+ if (_json.containsKey("profileRef")) { |
+ profileRef = new ProfileRef.fromJson(_json["profileRef"]); |
+ } |
+ if (_json.containsKey("webPropertyRef")) { |
+ webPropertyRef = new WebPropertyRef.fromJson(_json["webPropertyRef"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (accountRef != null) { |
+ _json["accountRef"] = (accountRef).toJson(); |
+ } |
+ if (profileRef != null) { |
+ _json["profileRef"] = (profileRef).toJson(); |
+ } |
+ if (webPropertyRef != null) { |
+ _json["webPropertyRef"] = (webPropertyRef).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Permissions the user has for this entity. */ |
+class EntityUserLinkPermissions { |
+ /** |
+ * Effective permissions represent all the permissions that a user has for |
+ * this entity. These include any implied permissions (e.g., EDIT implies |
+ * VIEW) or inherited permissions from the parent entity. Effective |
+ * permissions are read-only. |
+ */ |
+ core.List<core.String> effective; |
+ |
+ /** |
+ * Permissions that a user has been assigned at this very level. Does not |
+ * include any implied or inherited permissions. Local permissions are |
+ * modifiable. |
+ */ |
+ core.List<core.String> local; |
+ |
+ |
+ EntityUserLinkPermissions(); |
+ |
+ EntityUserLinkPermissions.fromJson(core.Map _json) { |
+ if (_json.containsKey("effective")) { |
+ effective = _json["effective"]; |
+ } |
+ if (_json.containsKey("local")) { |
+ local = _json["local"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (effective != null) { |
+ _json["effective"] = effective; |
+ } |
+ if (local != null) { |
+ _json["local"] = local; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * JSON template for an Analytics Entity-User Link. Returns permissions that a |
+ * user has for an entity. |
+ */ |
+class EntityUserLink { |
+ /** |
+ * Entity for this link. It can be an account, a web property, or a view |
+ * (profile). |
+ */ |
+ EntityUserLinkEntity entity; |
+ |
+ /** Entity user link ID */ |
+ core.String id; |
+ |
+ /** Resource type for entity user link. */ |
+ core.String kind; |
+ |
+ /** Permissions the user has for this entity. */ |
+ EntityUserLinkPermissions permissions; |
+ |
+ /** Self link for this resource. */ |
+ core.String selfLink; |
+ |
+ /** User reference. */ |
+ UserRef userRef; |
+ |
+ |
+ EntityUserLink(); |
+ |
+ EntityUserLink.fromJson(core.Map _json) { |
+ if (_json.containsKey("entity")) { |
+ entity = new EntityUserLinkEntity.fromJson(_json["entity"]); |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("permissions")) { |
+ permissions = new EntityUserLinkPermissions.fromJson(_json["permissions"]); |
+ } |
+ if (_json.containsKey("selfLink")) { |
+ selfLink = _json["selfLink"]; |
+ } |
+ if (_json.containsKey("userRef")) { |
+ userRef = new UserRef.fromJson(_json["userRef"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (entity != null) { |
+ _json["entity"] = (entity).toJson(); |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (permissions != null) { |
+ _json["permissions"] = (permissions).toJson(); |
+ } |
+ if (selfLink != null) { |
+ _json["selfLink"] = selfLink; |
+ } |
+ if (userRef != null) { |
+ _json["userRef"] = (userRef).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * An entity user link collection provides a list of Analytics ACL links Each |
+ * resource in this collection corresponds to a single link. |
+ */ |
+class EntityUserLinks { |
+ /** A list of entity user links. */ |
+ core.List<EntityUserLink> items; |
+ |
+ /** |
+ * The maximum number of entries the response can contain, regardless of the |
+ * actual number of entries returned. Its value ranges from 1 to 1000 with a |
+ * value of 1000 by default, or otherwise specified by the max-results query |
+ * parameter. |
+ */ |
+ core.int itemsPerPage; |
+ |
+ /** Collection type. */ |
+ core.String kind; |
+ |
+ /** Next link for this account collection. */ |
+ core.String nextLink; |
+ |
+ /** Previous link for this account collection. */ |
+ core.String previousLink; |
+ |
+ /** |
+ * The starting index of the entries, which is 1 by default or otherwise |
+ * specified by the start-index query parameter. |
+ */ |
+ core.int startIndex; |
+ |
+ /** |
+ * The total number of results for the query, regardless of the number of |
+ * results in the response. |
+ */ |
+ core.int totalResults; |
+ |
+ |
+ EntityUserLinks(); |
+ |
+ EntityUserLinks.fromJson(core.Map _json) { |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new EntityUserLink.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("itemsPerPage")) { |
+ itemsPerPage = _json["itemsPerPage"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextLink")) { |
+ nextLink = _json["nextLink"]; |
+ } |
+ if (_json.containsKey("previousLink")) { |
+ previousLink = _json["previousLink"]; |
+ } |
+ if (_json.containsKey("startIndex")) { |
+ startIndex = _json["startIndex"]; |
+ } |
+ if (_json.containsKey("totalResults")) { |
+ totalResults = _json["totalResults"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (itemsPerPage != null) { |
+ _json["itemsPerPage"] = itemsPerPage; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextLink != null) { |
+ _json["nextLink"] = nextLink; |
+ } |
+ if (previousLink != null) { |
+ _json["previousLink"] = previousLink; |
+ } |
+ if (startIndex != null) { |
+ _json["startIndex"] = startIndex; |
+ } |
+ if (totalResults != null) { |
+ _json["totalResults"] = totalResults; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Parent link for an experiment. Points to the view (profile) to which this |
+ * experiment belongs. |
+ */ |
+class ExperimentParentLink { |
+ /** |
+ * Link to the view (profile) to which this experiment belongs. This field is |
+ * read-only. |
+ */ |
+ core.String href; |
+ |
+ /** Value is "analytics#profile". This field is read-only. */ |
+ core.String type; |
+ |
+ |
+ ExperimentParentLink(); |
+ |
+ ExperimentParentLink.fromJson(core.Map _json) { |
+ if (_json.containsKey("href")) { |
+ href = _json["href"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (href != null) { |
+ _json["href"] = href; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ExperimentVariations { |
+ /** |
+ * The name of the variation. This field is required when creating an |
+ * experiment. This field may not be changed for an experiment whose status is |
+ * ENDED. |
+ */ |
+ core.String name; |
+ |
+ /** |
+ * Status of the variation. Possible values: "ACTIVE", "INACTIVE". INACTIVE |
+ * variations are not served. This field may not be changed for an experiment |
+ * whose status is ENDED. |
+ */ |
+ core.String status; |
+ |
+ /** |
+ * The URL of the variation. This field may not be changed for an experiment |
+ * whose status is RUNNING or ENDED. |
+ */ |
+ core.String url; |
+ |
+ /** |
+ * Weight that this variation should receive. Only present if the experiment |
+ * is running. This field is read-only. |
+ */ |
+ core.double weight; |
+ |
+ /** |
+ * True if the experiment has ended and this variation performed |
+ * (statistically) significantly better than the original. This field is |
+ * read-only. |
+ */ |
+ core.bool won; |
+ |
+ |
+ ExperimentVariations(); |
+ |
+ ExperimentVariations.fromJson(core.Map _json) { |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("status")) { |
+ status = _json["status"]; |
+ } |
+ if (_json.containsKey("url")) { |
+ url = _json["url"]; |
+ } |
+ if (_json.containsKey("weight")) { |
+ weight = _json["weight"]; |
+ } |
+ if (_json.containsKey("won")) { |
+ won = _json["won"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (status != null) { |
+ _json["status"] = status; |
+ } |
+ if (url != null) { |
+ _json["url"] = url; |
+ } |
+ if (weight != null) { |
+ _json["weight"] = weight; |
+ } |
+ if (won != null) { |
+ _json["won"] = won; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** JSON template for Analytics experiment resource. */ |
+class Experiment { |
+ /** Account ID to which this experiment belongs. This field is read-only. */ |
+ core.String accountId; |
+ |
+ /** Time the experiment was created. This field is read-only. */ |
+ core.DateTime created; |
+ |
+ /** Notes about this experiment. */ |
+ core.String description; |
+ |
+ /** |
+ * If true, the end user will be able to edit the experiment via the Google |
+ * Analytics user interface. |
+ */ |
+ core.bool editableInGaUi; |
+ |
+ /** |
+ * The ending time of the experiment (the time the status changed from RUNNING |
+ * to ENDED). This field is present only if the experiment has ended. This |
+ * field is read-only. |
+ */ |
+ core.DateTime endTime; |
+ |
+ /** |
+ * Boolean specifying whether to distribute traffic evenly across all |
+ * variations. If the value is False, content experiments follows the default |
+ * behavior of adjusting traffic dynamically based on variation performance. |
+ * Optional -- defaults to False. This field may not be changed for an |
+ * experiment whose status is ENDED. |
+ */ |
+ core.bool equalWeighting; |
+ |
+ /** Experiment ID. Required for patch and update. Disallowed for create. */ |
+ core.String id; |
+ |
+ /** |
+ * Internal ID for the web property to which this experiment belongs. This |
+ * field is read-only. |
+ */ |
+ core.String internalWebPropertyId; |
+ |
+ /** Resource type for an Analytics experiment. This field is read-only. */ |
+ core.String kind; |
+ |
+ /** |
+ * An integer number in [3, 90]. Specifies the minimum length of the |
+ * experiment. Can be changed for a running experiment. This field may not be |
+ * changed for an experiments whose status is ENDED. |
+ */ |
+ core.int minimumExperimentLengthInDays; |
+ |
+ /** |
+ * Experiment name. This field may not be changed for an experiment whose |
+ * status is ENDED. This field is required when creating an experiment. |
+ */ |
+ core.String name; |
+ |
+ /** |
+ * The metric that the experiment is optimizing. Valid values: |
+ * "ga:goal(n)Completions", "ga:adsenseAdsClicks", "ga:adsenseAdsViewed", |
+ * "ga:adsenseRevenue", "ga:bounces", "ga:pageviews", "ga:sessionDuration", |
+ * "ga:transactions", "ga:transactionRevenue". This field is required if |
+ * status is "RUNNING" and servingFramework is one of "REDIRECT" or "API". |
+ */ |
+ core.String objectiveMetric; |
+ |
+ /** |
+ * Whether the objectiveMetric should be minimized or maximized. Possible |
+ * values: "MAXIMUM", "MINIMUM". Optional--defaults to "MAXIMUM". Cannot be |
+ * specified without objectiveMetric. Cannot be modified when status is |
+ * "RUNNING" or "ENDED". |
+ */ |
+ core.String optimizationType; |
+ |
+ /** |
+ * Parent link for an experiment. Points to the view (profile) to which this |
+ * experiment belongs. |
+ */ |
+ ExperimentParentLink parentLink; |
+ |
+ /** |
+ * View (Profile) ID to which this experiment belongs. This field is |
+ * read-only. |
+ */ |
+ core.String profileId; |
+ |
+ /** |
+ * Why the experiment ended. Possible values: "STOPPED_BY_USER", |
+ * "WINNER_FOUND", "EXPERIMENT_EXPIRED", "ENDED_WITH_NO_WINNER", |
+ * "GOAL_OBJECTIVE_CHANGED". "ENDED_WITH_NO_WINNER" means that the experiment |
+ * didn't expire but no winner was projected to be found. If the experiment |
+ * status is changed via the API to ENDED this field is set to |
+ * STOPPED_BY_USER. This field is read-only. |
+ */ |
+ core.String reasonExperimentEnded; |
+ |
+ /** |
+ * Boolean specifying whether variations URLS are rewritten to match those of |
+ * the original. This field may not be changed for an experiments whose status |
+ * is ENDED. |
+ */ |
+ core.bool rewriteVariationUrlsAsOriginal; |
+ |
+ /** Link for this experiment. This field is read-only. */ |
+ core.String selfLink; |
+ |
+ /** |
+ * The framework used to serve the experiment variations and evaluate the |
+ * results. One of: |
+ * - REDIRECT: Google Analytics redirects traffic to different variation |
+ * pages, reports the chosen variation and evaluates the results. |
+ * - API: Google Analytics chooses and reports the variation to serve and |
+ * evaluates the results; the caller is responsible for serving the selected |
+ * variation. |
+ * - EXTERNAL: The variations will be served externally and the chosen |
+ * variation reported to Google Analytics. The caller is responsible for |
+ * serving the selected variation and evaluating the results. |
+ */ |
+ core.String servingFramework; |
+ |
+ /** |
+ * The snippet of code to include on the control page(s). This field is |
+ * read-only. |
+ */ |
+ core.String snippet; |
+ |
+ /** |
+ * The starting time of the experiment (the time the status changed from |
+ * READY_TO_RUN to RUNNING). This field is present only if the experiment has |
+ * started. This field is read-only. |
+ */ |
+ core.DateTime startTime; |
+ |
+ /** |
+ * Experiment status. Possible values: "DRAFT", "READY_TO_RUN", "RUNNING", |
+ * "ENDED". Experiments can be created in the "DRAFT", "READY_TO_RUN" or |
+ * "RUNNING" state. This field is required when creating an experiment. |
+ */ |
+ core.String status; |
+ |
+ /** |
+ * A floating-point number between 0 and 1. Specifies the fraction of the |
+ * traffic that participates in the experiment. Can be changed for a running |
+ * experiment. This field may not be changed for an experiments whose status |
+ * is ENDED. |
+ */ |
+ core.double trafficCoverage; |
+ |
+ /** Time the experiment was last modified. This field is read-only. */ |
+ core.DateTime updated; |
+ |
+ /** |
+ * Array of variations. The first variation in the array is the original. The |
+ * number of variations may not change once an experiment is in the RUNNING |
+ * state. At least two variations are required before status can be set to |
+ * RUNNING. |
+ */ |
+ core.List<ExperimentVariations> variations; |
+ |
+ /** |
+ * Web property ID to which this experiment belongs. The web property ID is of |
+ * the form UA-XXXXX-YY. This field is read-only. |
+ */ |
+ core.String webPropertyId; |
+ |
+ /** |
+ * A floating-point number between 0 and 1. Specifies the necessary confidence |
+ * level to choose a winner. This field may not be changed for an experiments |
+ * whose status is ENDED. |
+ */ |
+ core.double winnerConfidenceLevel; |
+ |
+ /** |
+ * Boolean specifying whether a winner has been found for this experiment. |
+ * This field is read-only. |
+ */ |
+ core.bool winnerFound; |
+ |
+ |
+ Experiment(); |
+ |
+ Experiment.fromJson(core.Map _json) { |
+ if (_json.containsKey("accountId")) { |
+ accountId = _json["accountId"]; |
+ } |
+ if (_json.containsKey("created")) { |
+ created = core.DateTime.parse(_json["created"]); |
+ } |
+ if (_json.containsKey("description")) { |
+ description = _json["description"]; |
+ } |
+ if (_json.containsKey("editableInGaUi")) { |
+ editableInGaUi = _json["editableInGaUi"]; |
+ } |
+ if (_json.containsKey("endTime")) { |
+ endTime = core.DateTime.parse(_json["endTime"]); |
+ } |
+ if (_json.containsKey("equalWeighting")) { |
+ equalWeighting = _json["equalWeighting"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("internalWebPropertyId")) { |
+ internalWebPropertyId = _json["internalWebPropertyId"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("minimumExperimentLengthInDays")) { |
+ minimumExperimentLengthInDays = _json["minimumExperimentLengthInDays"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("objectiveMetric")) { |
+ objectiveMetric = _json["objectiveMetric"]; |
+ } |
+ if (_json.containsKey("optimizationType")) { |
+ optimizationType = _json["optimizationType"]; |
+ } |
+ if (_json.containsKey("parentLink")) { |
+ parentLink = new ExperimentParentLink.fromJson(_json["parentLink"]); |
+ } |
+ if (_json.containsKey("profileId")) { |
+ profileId = _json["profileId"]; |
+ } |
+ if (_json.containsKey("reasonExperimentEnded")) { |
+ reasonExperimentEnded = _json["reasonExperimentEnded"]; |
+ } |
+ if (_json.containsKey("rewriteVariationUrlsAsOriginal")) { |
+ rewriteVariationUrlsAsOriginal = _json["rewriteVariationUrlsAsOriginal"]; |
+ } |
+ if (_json.containsKey("selfLink")) { |
+ selfLink = _json["selfLink"]; |
+ } |
+ if (_json.containsKey("servingFramework")) { |
+ servingFramework = _json["servingFramework"]; |
+ } |
+ if (_json.containsKey("snippet")) { |
+ snippet = _json["snippet"]; |
+ } |
+ if (_json.containsKey("startTime")) { |
+ startTime = core.DateTime.parse(_json["startTime"]); |
+ } |
+ if (_json.containsKey("status")) { |
+ status = _json["status"]; |
+ } |
+ if (_json.containsKey("trafficCoverage")) { |
+ trafficCoverage = _json["trafficCoverage"]; |
+ } |
+ if (_json.containsKey("updated")) { |
+ updated = core.DateTime.parse(_json["updated"]); |
+ } |
+ if (_json.containsKey("variations")) { |
+ variations = _json["variations"].map((value) => new ExperimentVariations.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("webPropertyId")) { |
+ webPropertyId = _json["webPropertyId"]; |
+ } |
+ if (_json.containsKey("winnerConfidenceLevel")) { |
+ winnerConfidenceLevel = _json["winnerConfidenceLevel"]; |
+ } |
+ if (_json.containsKey("winnerFound")) { |
+ winnerFound = _json["winnerFound"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (accountId != null) { |
+ _json["accountId"] = accountId; |
+ } |
+ if (created != null) { |
+ _json["created"] = (created).toIso8601String(); |
+ } |
+ if (description != null) { |
+ _json["description"] = description; |
+ } |
+ if (editableInGaUi != null) { |
+ _json["editableInGaUi"] = editableInGaUi; |
+ } |
+ if (endTime != null) { |
+ _json["endTime"] = (endTime).toIso8601String(); |
+ } |
+ if (equalWeighting != null) { |
+ _json["equalWeighting"] = equalWeighting; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (internalWebPropertyId != null) { |
+ _json["internalWebPropertyId"] = internalWebPropertyId; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (minimumExperimentLengthInDays != null) { |
+ _json["minimumExperimentLengthInDays"] = minimumExperimentLengthInDays; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (objectiveMetric != null) { |
+ _json["objectiveMetric"] = objectiveMetric; |
+ } |
+ if (optimizationType != null) { |
+ _json["optimizationType"] = optimizationType; |
+ } |
+ if (parentLink != null) { |
+ _json["parentLink"] = (parentLink).toJson(); |
+ } |
+ if (profileId != null) { |
+ _json["profileId"] = profileId; |
+ } |
+ if (reasonExperimentEnded != null) { |
+ _json["reasonExperimentEnded"] = reasonExperimentEnded; |
+ } |
+ if (rewriteVariationUrlsAsOriginal != null) { |
+ _json["rewriteVariationUrlsAsOriginal"] = rewriteVariationUrlsAsOriginal; |
+ } |
+ if (selfLink != null) { |
+ _json["selfLink"] = selfLink; |
+ } |
+ if (servingFramework != null) { |
+ _json["servingFramework"] = servingFramework; |
+ } |
+ if (snippet != null) { |
+ _json["snippet"] = snippet; |
+ } |
+ if (startTime != null) { |
+ _json["startTime"] = (startTime).toIso8601String(); |
+ } |
+ if (status != null) { |
+ _json["status"] = status; |
+ } |
+ if (trafficCoverage != null) { |
+ _json["trafficCoverage"] = trafficCoverage; |
+ } |
+ if (updated != null) { |
+ _json["updated"] = (updated).toIso8601String(); |
+ } |
+ if (variations != null) { |
+ _json["variations"] = variations.map((value) => (value).toJson()).toList(); |
+ } |
+ if (webPropertyId != null) { |
+ _json["webPropertyId"] = webPropertyId; |
+ } |
+ if (winnerConfidenceLevel != null) { |
+ _json["winnerConfidenceLevel"] = winnerConfidenceLevel; |
+ } |
+ if (winnerFound != null) { |
+ _json["winnerFound"] = winnerFound; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * An experiment collection lists Analytics experiments to which the user has |
+ * access. Each view (profile) can have a set of experiments. Each resource in |
+ * the Experiment collection corresponds to a single Analytics experiment. |
+ */ |
+class Experiments { |
+ /** A list of experiments. */ |
+ core.List<Experiment> items; |
+ |
+ /** |
+ * The maximum number of resources the response can contain, regardless of the |
+ * actual number of resources returned. Its value ranges from 1 to 1000 with a |
+ * value of 1000 by default, or otherwise specified by the max-results query |
+ * parameter. |
+ */ |
+ core.int itemsPerPage; |
+ |
+ /** Collection type. */ |
+ core.String kind; |
+ |
+ /** Link to next page for this experiment collection. */ |
+ core.String nextLink; |
+ |
+ /** Link to previous page for this experiment collection. */ |
+ core.String previousLink; |
+ |
+ /** |
+ * The starting index of the resources, which is 1 by default or otherwise |
+ * specified by the start-index query parameter. |
+ */ |
+ core.int startIndex; |
+ |
+ /** |
+ * The total number of results for the query, regardless of the number of |
+ * resources in the result. |
+ */ |
+ core.int totalResults; |
+ |
+ /** Email ID of the authenticated user */ |
+ core.String username; |
+ |
+ |
+ Experiments(); |
+ |
+ Experiments.fromJson(core.Map _json) { |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new Experiment.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("itemsPerPage")) { |
+ itemsPerPage = _json["itemsPerPage"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextLink")) { |
+ nextLink = _json["nextLink"]; |
+ } |
+ if (_json.containsKey("previousLink")) { |
+ previousLink = _json["previousLink"]; |
+ } |
+ if (_json.containsKey("startIndex")) { |
+ startIndex = _json["startIndex"]; |
+ } |
+ if (_json.containsKey("totalResults")) { |
+ totalResults = _json["totalResults"]; |
+ } |
+ if (_json.containsKey("username")) { |
+ username = _json["username"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (itemsPerPage != null) { |
+ _json["itemsPerPage"] = itemsPerPage; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextLink != null) { |
+ _json["nextLink"] = nextLink; |
+ } |
+ if (previousLink != null) { |
+ _json["previousLink"] = previousLink; |
+ } |
+ if (startIndex != null) { |
+ _json["startIndex"] = startIndex; |
+ } |
+ if (totalResults != null) { |
+ _json["totalResults"] = totalResults; |
+ } |
+ if (username != null) { |
+ _json["username"] = username; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Details for the filter of the type ADVANCED. */ |
+class FilterAdvancedDetails { |
+ /** Indicates if the filter expressions are case sensitive. */ |
+ core.bool caseSensitive; |
+ |
+ /** Expression to extract from field A. */ |
+ core.String extractA; |
+ |
+ /** Expression to extract from field B. */ |
+ core.String extractB; |
+ |
+ /** Field A. */ |
+ core.String fieldA; |
+ |
+ /** Indicates if field A is required to match. */ |
+ core.bool fieldARequired; |
+ |
+ /** Field B. */ |
+ core.String fieldB; |
+ |
+ /** Indicates if field B is required to match. */ |
+ core.bool fieldBRequired; |
+ |
+ /** Expression used to construct the output value. */ |
+ core.String outputConstructor; |
+ |
+ /** Output field. */ |
+ core.String outputToField; |
+ |
+ /** |
+ * Indicates if the existing value of the output field, if any, should be |
+ * overridden by the output expression. |
+ */ |
+ core.bool overrideOutputField; |
+ |
+ |
+ FilterAdvancedDetails(); |
+ |
+ FilterAdvancedDetails.fromJson(core.Map _json) { |
+ if (_json.containsKey("caseSensitive")) { |
+ caseSensitive = _json["caseSensitive"]; |
+ } |
+ if (_json.containsKey("extractA")) { |
+ extractA = _json["extractA"]; |
+ } |
+ if (_json.containsKey("extractB")) { |
+ extractB = _json["extractB"]; |
+ } |
+ if (_json.containsKey("fieldA")) { |
+ fieldA = _json["fieldA"]; |
+ } |
+ if (_json.containsKey("fieldARequired")) { |
+ fieldARequired = _json["fieldARequired"]; |
+ } |
+ if (_json.containsKey("fieldB")) { |
+ fieldB = _json["fieldB"]; |
+ } |
+ if (_json.containsKey("fieldBRequired")) { |
+ fieldBRequired = _json["fieldBRequired"]; |
+ } |
+ if (_json.containsKey("outputConstructor")) { |
+ outputConstructor = _json["outputConstructor"]; |
+ } |
+ if (_json.containsKey("outputToField")) { |
+ outputToField = _json["outputToField"]; |
+ } |
+ if (_json.containsKey("overrideOutputField")) { |
+ overrideOutputField = _json["overrideOutputField"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (caseSensitive != null) { |
+ _json["caseSensitive"] = caseSensitive; |
+ } |
+ if (extractA != null) { |
+ _json["extractA"] = extractA; |
+ } |
+ if (extractB != null) { |
+ _json["extractB"] = extractB; |
+ } |
+ if (fieldA != null) { |
+ _json["fieldA"] = fieldA; |
+ } |
+ if (fieldARequired != null) { |
+ _json["fieldARequired"] = fieldARequired; |
+ } |
+ if (fieldB != null) { |
+ _json["fieldB"] = fieldB; |
+ } |
+ if (fieldBRequired != null) { |
+ _json["fieldBRequired"] = fieldBRequired; |
+ } |
+ if (outputConstructor != null) { |
+ _json["outputConstructor"] = outputConstructor; |
+ } |
+ if (outputToField != null) { |
+ _json["outputToField"] = outputToField; |
+ } |
+ if (overrideOutputField != null) { |
+ _json["overrideOutputField"] = overrideOutputField; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Details for the filter of the type LOWER. */ |
+class FilterLowercaseDetails { |
+ /** Field to use in the filter. */ |
+ core.String field; |
+ |
+ |
+ FilterLowercaseDetails(); |
+ |
+ FilterLowercaseDetails.fromJson(core.Map _json) { |
+ if (_json.containsKey("field")) { |
+ field = _json["field"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (field != null) { |
+ _json["field"] = field; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Parent link for this filter. Points to the account to which this filter |
+ * belongs. |
+ */ |
+class FilterParentLink { |
+ /** Link to the account to which this filter belongs. */ |
+ core.String href; |
+ |
+ /** Value is "analytics#account". */ |
+ core.String type; |
+ |
+ |
+ FilterParentLink(); |
+ |
+ FilterParentLink.fromJson(core.Map _json) { |
+ if (_json.containsKey("href")) { |
+ href = _json["href"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (href != null) { |
+ _json["href"] = href; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Details for the filter of the type SEARCH_AND_REPLACE. */ |
+class FilterSearchAndReplaceDetails { |
+ /** Determines if the filter is case sensitive. */ |
+ core.bool caseSensitive; |
+ |
+ /** Field to use in the filter. */ |
+ core.String field; |
+ |
+ /** Term to replace the search term with. */ |
+ core.String replaceString; |
+ |
+ /** Term to search. */ |
+ core.String searchString; |
+ |
+ |
+ FilterSearchAndReplaceDetails(); |
+ |
+ FilterSearchAndReplaceDetails.fromJson(core.Map _json) { |
+ if (_json.containsKey("caseSensitive")) { |
+ caseSensitive = _json["caseSensitive"]; |
+ } |
+ if (_json.containsKey("field")) { |
+ field = _json["field"]; |
+ } |
+ if (_json.containsKey("replaceString")) { |
+ replaceString = _json["replaceString"]; |
+ } |
+ if (_json.containsKey("searchString")) { |
+ searchString = _json["searchString"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (caseSensitive != null) { |
+ _json["caseSensitive"] = caseSensitive; |
+ } |
+ if (field != null) { |
+ _json["field"] = field; |
+ } |
+ if (replaceString != null) { |
+ _json["replaceString"] = replaceString; |
+ } |
+ if (searchString != null) { |
+ _json["searchString"] = searchString; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Details for the filter of the type UPPER. */ |
+class FilterUppercaseDetails { |
+ /** Field to use in the filter. */ |
+ core.String field; |
+ |
+ |
+ FilterUppercaseDetails(); |
+ |
+ FilterUppercaseDetails.fromJson(core.Map _json) { |
+ if (_json.containsKey("field")) { |
+ field = _json["field"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (field != null) { |
+ _json["field"] = field; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** JSON template for an Analytics account filter. */ |
+class Filter { |
+ /** Account ID to which this filter belongs. */ |
+ core.String accountId; |
+ |
+ /** Details for the filter of the type ADVANCED. */ |
+ FilterAdvancedDetails advancedDetails; |
+ |
+ /** Time this filter was created. */ |
+ core.DateTime created; |
+ |
+ /** Details for the filter of the type EXCLUDE. */ |
+ FilterExpression excludeDetails; |
+ |
+ /** Filter ID. */ |
+ core.String id; |
+ |
+ /** Details for the filter of the type INCLUDE. */ |
+ FilterExpression includeDetails; |
+ |
+ /** Resource type for Analytics filter. */ |
+ core.String kind; |
+ |
+ /** Details for the filter of the type LOWER. */ |
+ FilterLowercaseDetails lowercaseDetails; |
+ |
+ /** Name of this filter. */ |
+ core.String name; |
+ |
+ /** |
+ * Parent link for this filter. Points to the account to which this filter |
+ * belongs. |
+ */ |
+ FilterParentLink parentLink; |
+ |
+ /** Details for the filter of the type SEARCH_AND_REPLACE. */ |
+ FilterSearchAndReplaceDetails searchAndReplaceDetails; |
+ |
+ /** Link for this filter. */ |
+ core.String selfLink; |
+ |
+ /** |
+ * Type of this filter. Possible values are INCLUDE, EXCLUDE, LOWERCASE, |
+ * UPPERCASE, SEARCH_AND_REPLACE and ADVANCED. |
+ */ |
+ core.String type; |
+ |
+ /** Time this filter was last modified. */ |
+ core.DateTime updated; |
+ |
+ /** Details for the filter of the type UPPER. */ |
+ FilterUppercaseDetails uppercaseDetails; |
+ |
+ |
+ Filter(); |
+ |
+ Filter.fromJson(core.Map _json) { |
+ if (_json.containsKey("accountId")) { |
+ accountId = _json["accountId"]; |
+ } |
+ if (_json.containsKey("advancedDetails")) { |
+ advancedDetails = new FilterAdvancedDetails.fromJson(_json["advancedDetails"]); |
+ } |
+ if (_json.containsKey("created")) { |
+ created = core.DateTime.parse(_json["created"]); |
+ } |
+ if (_json.containsKey("excludeDetails")) { |
+ excludeDetails = new FilterExpression.fromJson(_json["excludeDetails"]); |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("includeDetails")) { |
+ includeDetails = new FilterExpression.fromJson(_json["includeDetails"]); |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("lowercaseDetails")) { |
+ lowercaseDetails = new FilterLowercaseDetails.fromJson(_json["lowercaseDetails"]); |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("parentLink")) { |
+ parentLink = new FilterParentLink.fromJson(_json["parentLink"]); |
+ } |
+ if (_json.containsKey("searchAndReplaceDetails")) { |
+ searchAndReplaceDetails = new FilterSearchAndReplaceDetails.fromJson(_json["searchAndReplaceDetails"]); |
+ } |
+ if (_json.containsKey("selfLink")) { |
+ selfLink = _json["selfLink"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ if (_json.containsKey("updated")) { |
+ updated = core.DateTime.parse(_json["updated"]); |
+ } |
+ if (_json.containsKey("uppercaseDetails")) { |
+ uppercaseDetails = new FilterUppercaseDetails.fromJson(_json["uppercaseDetails"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (accountId != null) { |
+ _json["accountId"] = accountId; |
+ } |
+ if (advancedDetails != null) { |
+ _json["advancedDetails"] = (advancedDetails).toJson(); |
+ } |
+ if (created != null) { |
+ _json["created"] = (created).toIso8601String(); |
+ } |
+ if (excludeDetails != null) { |
+ _json["excludeDetails"] = (excludeDetails).toJson(); |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (includeDetails != null) { |
+ _json["includeDetails"] = (includeDetails).toJson(); |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (lowercaseDetails != null) { |
+ _json["lowercaseDetails"] = (lowercaseDetails).toJson(); |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (parentLink != null) { |
+ _json["parentLink"] = (parentLink).toJson(); |
+ } |
+ if (searchAndReplaceDetails != null) { |
+ _json["searchAndReplaceDetails"] = (searchAndReplaceDetails).toJson(); |
+ } |
+ if (selfLink != null) { |
+ _json["selfLink"] = selfLink; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ if (updated != null) { |
+ _json["updated"] = (updated).toIso8601String(); |
+ } |
+ if (uppercaseDetails != null) { |
+ _json["uppercaseDetails"] = (uppercaseDetails).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** JSON template for an Analytics filter expression. */ |
+class FilterExpression { |
+ /** Determines if the filter is case sensitive. */ |
+ core.bool caseSensitive; |
+ |
+ /** Filter expression value */ |
+ core.String expressionValue; |
+ |
+ /** |
+ * Field to filter. Possible values: |
+ * - Reserved |
+ * - UNUSED, |
+ * - Content and Traffic |
+ * - PAGE_REQUEST_URI, |
+ * - PAGE_HOSTNAME, |
+ * - PAGE_TITLE, |
+ * - REFERRAL, |
+ * - COST_DATA_URI (Campaign target URL), |
+ * - HIT_TYPE, |
+ * - INTERNAL_SEARCH_TERM, |
+ * - INTERNAL_SEARCH_TYPE, |
+ * - SOURCE_PROPERTY_TRACKING_ID, |
+ * - Campaign or AdGroup |
+ * - CAMPAIGN_SOURCE, |
+ * - CAMPAIGN_MEDIUM, |
+ * - CAMPAIGN_NAME, |
+ * - CAMPAIGN_AD_GROUP, |
+ * - CAMPAIGN_TERM, |
+ * - CAMPAIGN_CONTENT, |
+ * - CAMPAIGN_CODE, |
+ * - CAMPAIGN_REFERRAL_PATH, |
+ * - E-Commerce |
+ * - TRANSACTION_COUNTRY, |
+ * - TRANSACTION_REGION, |
+ * - TRANSACTION_CITY, |
+ * - TRANSACTION_AFFILIATION (Store or order location), |
+ * - ITEM_NAME, |
+ * - ITEM_CODE, |
+ * - ITEM_VARIATION, |
+ * - TRANSACTION_ID, |
+ * - TRANSACTION_CURRENCY_CODE, |
+ * - PRODUCT_ACTION_TYPE, |
+ * - Audience/Users |
+ * - BROWSER, |
+ * - BROWSER_VERSION, |
+ * - BROWSER_SIZE, |
+ * - PLATFORM, |
+ * - PLATFORM_VERSION, |
+ * - LANGUAGE, |
+ * - SCREEN_RESOLUTION, |
+ * - SCREEN_COLORS, |
+ * - JAVA_ENABLED, |
+ * - FLASH_VERSION, |
+ * - GEO_SPEED (Connection speed), |
+ * - VISITOR_TYPE, |
+ * - GEO_ORGANIZATION (ISP organization), |
+ * - GEO_DOMAIN, |
+ * - GEO_IP_ADDRESS, |
+ * - GEO_IP_VERSION, |
+ * - Location |
+ * - GEO_COUNTRY, |
+ * - GEO_REGION, |
+ * - GEO_CITY, |
+ * - Event |
+ * - EVENT_CATEGORY, |
+ * - EVENT_ACTION, |
+ * - EVENT_LABEL, |
+ * - Other |
+ * - CUSTOM_FIELD_1, |
+ * - CUSTOM_FIELD_2, |
+ * - USER_DEFINED_VALUE, |
+ * - Application |
+ * - APP_ID, |
+ * - APP_INSTALLER_ID, |
+ * - APP_NAME, |
+ * - APP_VERSION, |
+ * - SCREEN, |
+ * - IS_APP, |
+ * - IS_FATAL_EXCEPTION, |
+ * - EXCEPTION_DESCRIPTION, |
+ * - Mobile device |
+ * - IS_MOBILE, |
+ * - IS_TABLET, |
+ * - MOBILE_HAS_QWERTY_KEYBOARD, |
+ * - MOBILE_HAS_NFC_SUPPORT, |
+ * - MOBILE_HAS_CELLULAR_RADIO, |
+ * - MOBILE_HAS_WIFI_SUPPORT, |
+ * - MOBILE_BRAND_NAME, |
+ * - MOBILE_MODEL_NAME, |
+ * - MOBILE_MARKETING_NAME, |
+ * - MOBILE_POINTING_METHOD, |
+ * - Social |
+ * - SOCIAL_NETWORK, |
+ * - SOCIAL_ACTION, |
+ * - SOCIAL_ACTION_TARGET, |
+ */ |
+ core.String field; |
+ |
+ /** Kind value for filter expression */ |
+ core.String kind; |
+ |
+ /** |
+ * Match type for this filter. Possible values are BEGINS_WITH, EQUAL, |
+ * ENDS_WITH, CONTAINS, MATCHES. Include and Exclude filters can use any match |
+ * type. Match type is not applicable to Upper case and Lower case filters. |
+ * Search and Replace expressions in the Search and Replace filter and all |
+ * filter expressions in the Advanced filter default to MATCHES. User should |
+ * not set match type for those filters. |
+ */ |
+ core.String matchType; |
+ |
+ |
+ FilterExpression(); |
+ |
+ FilterExpression.fromJson(core.Map _json) { |
+ if (_json.containsKey("caseSensitive")) { |
+ caseSensitive = _json["caseSensitive"]; |
+ } |
+ if (_json.containsKey("expressionValue")) { |
+ expressionValue = _json["expressionValue"]; |
+ } |
+ if (_json.containsKey("field")) { |
+ field = _json["field"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("matchType")) { |
+ matchType = _json["matchType"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (caseSensitive != null) { |
+ _json["caseSensitive"] = caseSensitive; |
+ } |
+ if (expressionValue != null) { |
+ _json["expressionValue"] = expressionValue; |
+ } |
+ if (field != null) { |
+ _json["field"] = field; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (matchType != null) { |
+ _json["matchType"] = matchType; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** JSON template for a profile filter link. */ |
+class FilterRef { |
+ /** Account ID to which this filter belongs. */ |
+ core.String accountId; |
+ |
+ /** Link for this filter. */ |
+ core.String href; |
+ |
+ /** Filter ID. */ |
+ core.String id; |
+ |
+ /** Kind value for filter reference. */ |
+ core.String kind; |
+ |
+ /** Name of this filter. */ |
+ core.String name; |
+ |
+ |
+ FilterRef(); |
+ |
+ FilterRef.fromJson(core.Map _json) { |
+ if (_json.containsKey("accountId")) { |
+ accountId = _json["accountId"]; |
+ } |
+ if (_json.containsKey("href")) { |
+ href = _json["href"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (accountId != null) { |
+ _json["accountId"] = accountId; |
+ } |
+ if (href != null) { |
+ _json["href"] = href; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * A filter collection lists filters created by users in an Analytics account. |
+ * Each resource in the collection corresponds to a filter. |
+ */ |
+class Filters { |
+ /** A list of filters. */ |
+ core.List<Filter> items; |
+ |
+ /** |
+ * The maximum number of resources the response can contain, regardless of the |
+ * actual number of resources returned. Its value ranges from 1 to 1,000 with |
+ * a value of 1000 by default, or otherwise specified by the max-results query |
+ * parameter. |
+ */ |
+ core.int itemsPerPage; |
+ |
+ /** Collection type. */ |
+ core.String kind; |
+ |
+ /** Link to next page for this filter collection. */ |
+ core.String nextLink; |
+ |
+ /** Link to previous page for this filter collection. */ |
+ core.String previousLink; |
+ |
+ /** |
+ * The starting index of the resources, which is 1 by default or otherwise |
+ * specified by the start-index query parameter. |
+ */ |
+ core.int startIndex; |
+ |
+ /** |
+ * The total number of results for the query, regardless of the number of |
+ * results in the response. |
+ */ |
+ core.int totalResults; |
+ |
+ /** Email ID of the authenticated user */ |
+ core.String username; |
+ |
+ |
+ Filters(); |
+ |
+ Filters.fromJson(core.Map _json) { |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new Filter.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("itemsPerPage")) { |
+ itemsPerPage = _json["itemsPerPage"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextLink")) { |
+ nextLink = _json["nextLink"]; |
+ } |
+ if (_json.containsKey("previousLink")) { |
+ previousLink = _json["previousLink"]; |
+ } |
+ if (_json.containsKey("startIndex")) { |
+ startIndex = _json["startIndex"]; |
+ } |
+ if (_json.containsKey("totalResults")) { |
+ totalResults = _json["totalResults"]; |
+ } |
+ if (_json.containsKey("username")) { |
+ username = _json["username"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (itemsPerPage != null) { |
+ _json["itemsPerPage"] = itemsPerPage; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextLink != null) { |
+ _json["nextLink"] = nextLink; |
+ } |
+ if (previousLink != null) { |
+ _json["previousLink"] = previousLink; |
+ } |
+ if (startIndex != null) { |
+ _json["startIndex"] = startIndex; |
+ } |
+ if (totalResults != null) { |
+ _json["totalResults"] = totalResults; |
+ } |
+ if (username != null) { |
+ _json["username"] = username; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class GaDataColumnHeaders { |
+ /** Column Type. Either DIMENSION or METRIC. */ |
+ core.String columnType; |
+ |
+ /** |
+ * Data type. Dimension column headers have only STRING as the data type. |
+ * Metric column headers have data types for metric values such as INTEGER, |
+ * DOUBLE, CURRENCY etc. |
+ */ |
+ core.String dataType; |
+ |
+ /** Column name. */ |
+ core.String name; |
+ |
+ |
+ GaDataColumnHeaders(); |
+ |
+ GaDataColumnHeaders.fromJson(core.Map _json) { |
+ if (_json.containsKey("columnType")) { |
+ columnType = _json["columnType"]; |
+ } |
+ if (_json.containsKey("dataType")) { |
+ dataType = _json["dataType"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (columnType != null) { |
+ _json["columnType"] = columnType; |
+ } |
+ if (dataType != null) { |
+ _json["dataType"] = dataType; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class GaDataDataTableCols { |
+ /** Not documented yet. */ |
+ core.String id; |
+ |
+ /** Not documented yet. */ |
+ core.String label; |
+ |
+ /** Not documented yet. */ |
+ core.String type; |
+ |
+ |
+ GaDataDataTableCols(); |
+ |
+ GaDataDataTableCols.fromJson(core.Map _json) { |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("label")) { |
+ label = _json["label"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (label != null) { |
+ _json["label"] = label; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class GaDataDataTableRowsC { |
+ /** Not documented yet. */ |
+ core.String v; |
+ |
+ |
+ GaDataDataTableRowsC(); |
+ |
+ GaDataDataTableRowsC.fromJson(core.Map _json) { |
+ if (_json.containsKey("v")) { |
+ v = _json["v"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (v != null) { |
+ _json["v"] = v; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class GaDataDataTableRows { |
+ /** Not documented yet. */ |
+ core.List<GaDataDataTableRowsC> c; |
+ |
+ |
+ GaDataDataTableRows(); |
+ |
+ GaDataDataTableRows.fromJson(core.Map _json) { |
+ if (_json.containsKey("c")) { |
+ c = _json["c"].map((value) => new GaDataDataTableRowsC.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (c != null) { |
+ _json["c"] = c.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class GaDataDataTable { |
+ /** Not documented yet. */ |
+ core.List<GaDataDataTableCols> cols; |
+ |
+ /** Not documented yet. */ |
+ core.List<GaDataDataTableRows> rows; |
+ |
+ |
+ GaDataDataTable(); |
+ |
+ GaDataDataTable.fromJson(core.Map _json) { |
+ if (_json.containsKey("cols")) { |
+ cols = _json["cols"].map((value) => new GaDataDataTableCols.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("rows")) { |
+ rows = _json["rows"].map((value) => new GaDataDataTableRows.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (cols != null) { |
+ _json["cols"] = cols.map((value) => (value).toJson()).toList(); |
+ } |
+ if (rows != null) { |
+ _json["rows"] = rows.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Information for the view (profile), for which the Analytics data was |
+ * requested. |
+ */ |
+class GaDataProfileInfo { |
+ /** Account ID to which this view (profile) belongs. */ |
+ core.String accountId; |
+ |
+ /** Internal ID for the web property to which this view (profile) belongs. */ |
+ core.String internalWebPropertyId; |
+ |
+ /** View (Profile) ID. */ |
+ core.String profileId; |
+ |
+ /** View (Profile) name. */ |
+ core.String profileName; |
+ |
+ /** Table ID for view (profile). */ |
+ core.String tableId; |
+ |
+ /** Web Property ID to which this view (profile) belongs. */ |
+ core.String webPropertyId; |
+ |
+ |
+ GaDataProfileInfo(); |
+ |
+ GaDataProfileInfo.fromJson(core.Map _json) { |
+ if (_json.containsKey("accountId")) { |
+ accountId = _json["accountId"]; |
+ } |
+ if (_json.containsKey("internalWebPropertyId")) { |
+ internalWebPropertyId = _json["internalWebPropertyId"]; |
+ } |
+ if (_json.containsKey("profileId")) { |
+ profileId = _json["profileId"]; |
+ } |
+ if (_json.containsKey("profileName")) { |
+ profileName = _json["profileName"]; |
+ } |
+ if (_json.containsKey("tableId")) { |
+ tableId = _json["tableId"]; |
+ } |
+ if (_json.containsKey("webPropertyId")) { |
+ webPropertyId = _json["webPropertyId"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (accountId != null) { |
+ _json["accountId"] = accountId; |
+ } |
+ if (internalWebPropertyId != null) { |
+ _json["internalWebPropertyId"] = internalWebPropertyId; |
+ } |
+ if (profileId != null) { |
+ _json["profileId"] = profileId; |
+ } |
+ if (profileName != null) { |
+ _json["profileName"] = profileName; |
+ } |
+ if (tableId != null) { |
+ _json["tableId"] = tableId; |
+ } |
+ if (webPropertyId != null) { |
+ _json["webPropertyId"] = webPropertyId; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Analytics data request query parameters. */ |
+class GaDataQuery { |
+ /** List of analytics dimensions. */ |
+ core.String dimensions; |
+ |
+ /** End date. */ |
+ core.String end_date; |
+ |
+ /** Comma-separated list of dimension or metric filters. */ |
+ core.String filters; |
+ |
+ /** Unique table ID. */ |
+ core.String ids; |
+ |
+ /** Maximum results per page. */ |
+ core.int max_results; |
+ |
+ /** List of analytics metrics. */ |
+ core.List<core.String> metrics; |
+ |
+ /** Desired sampling level */ |
+ core.String samplingLevel; |
+ |
+ /** Analytics advanced segment. */ |
+ core.String segment; |
+ |
+ /** List of dimensions or metrics based on which Analytics data is sorted. */ |
+ core.List<core.String> sort; |
+ |
+ /** Start date. */ |
+ core.String start_date; |
+ |
+ /** Start index. */ |
+ core.int start_index; |
+ |
+ |
+ GaDataQuery(); |
+ |
+ GaDataQuery.fromJson(core.Map _json) { |
+ if (_json.containsKey("dimensions")) { |
+ dimensions = _json["dimensions"]; |
+ } |
+ if (_json.containsKey("end-date")) { |
+ end_date = _json["end-date"]; |
+ } |
+ if (_json.containsKey("filters")) { |
+ filters = _json["filters"]; |
+ } |
+ if (_json.containsKey("ids")) { |
+ ids = _json["ids"]; |
+ } |
+ if (_json.containsKey("max-results")) { |
+ max_results = _json["max-results"]; |
+ } |
+ if (_json.containsKey("metrics")) { |
+ metrics = _json["metrics"]; |
+ } |
+ if (_json.containsKey("samplingLevel")) { |
+ samplingLevel = _json["samplingLevel"]; |
+ } |
+ if (_json.containsKey("segment")) { |
+ segment = _json["segment"]; |
+ } |
+ if (_json.containsKey("sort")) { |
+ sort = _json["sort"]; |
+ } |
+ if (_json.containsKey("start-date")) { |
+ start_date = _json["start-date"]; |
+ } |
+ if (_json.containsKey("start-index")) { |
+ start_index = _json["start-index"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (dimensions != null) { |
+ _json["dimensions"] = dimensions; |
+ } |
+ if (end_date != null) { |
+ _json["end-date"] = end_date; |
+ } |
+ if (filters != null) { |
+ _json["filters"] = filters; |
+ } |
+ if (ids != null) { |
+ _json["ids"] = ids; |
+ } |
+ if (max_results != null) { |
+ _json["max-results"] = max_results; |
+ } |
+ if (metrics != null) { |
+ _json["metrics"] = metrics; |
+ } |
+ if (samplingLevel != null) { |
+ _json["samplingLevel"] = samplingLevel; |
+ } |
+ if (segment != null) { |
+ _json["segment"] = segment; |
+ } |
+ if (sort != null) { |
+ _json["sort"] = sort; |
+ } |
+ if (start_date != null) { |
+ _json["start-date"] = start_date; |
+ } |
+ if (start_index != null) { |
+ _json["start-index"] = start_index; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Analytics data for a given view (profile). */ |
+class GaData { |
+ /** |
+ * Column headers that list dimension names followed by the metric names. The |
+ * order of dimensions and metrics is same as specified in the request. |
+ */ |
+ core.List<GaDataColumnHeaders> columnHeaders; |
+ |
+ /** Determines if Analytics data contains samples. */ |
+ core.bool containsSampledData; |
+ |
+ /** Not documented yet. */ |
+ GaDataDataTable dataTable; |
+ |
+ /** Unique ID for this data response. */ |
+ core.String id; |
+ |
+ /** |
+ * The maximum number of rows the response can contain, regardless of the |
+ * actual number of rows returned. Its value ranges from 1 to 10,000 with a |
+ * value of 1000 by default, or otherwise specified by the max-results query |
+ * parameter. |
+ */ |
+ core.int itemsPerPage; |
+ |
+ /** Resource type. */ |
+ core.String kind; |
+ |
+ /** Link to next page for this Analytics data query. */ |
+ core.String nextLink; |
+ |
+ /** Link to previous page for this Analytics data query. */ |
+ core.String previousLink; |
+ |
+ /** |
+ * Information for the view (profile), for which the Analytics data was |
+ * requested. |
+ */ |
+ GaDataProfileInfo profileInfo; |
+ |
+ /** Analytics data request query parameters. */ |
+ GaDataQuery query; |
+ |
+ /** |
+ * Analytics data rows, where each row contains a list of dimension values |
+ * followed by the metric values. The order of dimensions and metrics is same |
+ * as specified in the request. |
+ */ |
+ core.List<core.List<core.String>> rows; |
+ |
+ /** The number of samples used to calculate the result. */ |
+ core.String sampleSize; |
+ |
+ /** Total size of the sample space from which the samples were selected. */ |
+ core.String sampleSpace; |
+ |
+ /** Link to this page. */ |
+ core.String selfLink; |
+ |
+ /** |
+ * The total number of rows for the query, regardless of the number of rows in |
+ * the response. |
+ */ |
+ core.int totalResults; |
+ |
+ /** |
+ * Total values for the requested metrics over all the results, not just the |
+ * results returned in this response. The order of the metric totals is same |
+ * as the metric order specified in the request. |
+ */ |
+ core.Map<core.String, core.String> totalsForAllResults; |
+ |
+ |
+ GaData(); |
+ |
+ GaData.fromJson(core.Map _json) { |
+ if (_json.containsKey("columnHeaders")) { |
+ columnHeaders = _json["columnHeaders"].map((value) => new GaDataColumnHeaders.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("containsSampledData")) { |
+ containsSampledData = _json["containsSampledData"]; |
+ } |
+ if (_json.containsKey("dataTable")) { |
+ dataTable = new GaDataDataTable.fromJson(_json["dataTable"]); |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("itemsPerPage")) { |
+ itemsPerPage = _json["itemsPerPage"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextLink")) { |
+ nextLink = _json["nextLink"]; |
+ } |
+ if (_json.containsKey("previousLink")) { |
+ previousLink = _json["previousLink"]; |
+ } |
+ if (_json.containsKey("profileInfo")) { |
+ profileInfo = new GaDataProfileInfo.fromJson(_json["profileInfo"]); |
+ } |
+ if (_json.containsKey("query")) { |
+ query = new GaDataQuery.fromJson(_json["query"]); |
+ } |
+ if (_json.containsKey("rows")) { |
+ rows = _json["rows"]; |
+ } |
+ if (_json.containsKey("sampleSize")) { |
+ sampleSize = _json["sampleSize"]; |
+ } |
+ if (_json.containsKey("sampleSpace")) { |
+ sampleSpace = _json["sampleSpace"]; |
+ } |
+ if (_json.containsKey("selfLink")) { |
+ selfLink = _json["selfLink"]; |
+ } |
+ if (_json.containsKey("totalResults")) { |
+ totalResults = _json["totalResults"]; |
+ } |
+ if (_json.containsKey("totalsForAllResults")) { |
+ totalsForAllResults = _json["totalsForAllResults"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (columnHeaders != null) { |
+ _json["columnHeaders"] = columnHeaders.map((value) => (value).toJson()).toList(); |
+ } |
+ if (containsSampledData != null) { |
+ _json["containsSampledData"] = containsSampledData; |
+ } |
+ if (dataTable != null) { |
+ _json["dataTable"] = (dataTable).toJson(); |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (itemsPerPage != null) { |
+ _json["itemsPerPage"] = itemsPerPage; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextLink != null) { |
+ _json["nextLink"] = nextLink; |
+ } |
+ if (previousLink != null) { |
+ _json["previousLink"] = previousLink; |
+ } |
+ if (profileInfo != null) { |
+ _json["profileInfo"] = (profileInfo).toJson(); |
+ } |
+ if (query != null) { |
+ _json["query"] = (query).toJson(); |
+ } |
+ if (rows != null) { |
+ _json["rows"] = rows; |
+ } |
+ if (sampleSize != null) { |
+ _json["sampleSize"] = sampleSize; |
+ } |
+ if (sampleSpace != null) { |
+ _json["sampleSpace"] = sampleSpace; |
+ } |
+ if (selfLink != null) { |
+ _json["selfLink"] = selfLink; |
+ } |
+ if (totalResults != null) { |
+ _json["totalResults"] = totalResults; |
+ } |
+ if (totalsForAllResults != null) { |
+ _json["totalsForAllResults"] = totalsForAllResults; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class GoalEventDetailsEventConditions { |
+ /** |
+ * Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL. |
+ */ |
+ core.String comparisonType; |
+ |
+ /** Value used for this comparison. */ |
+ core.String comparisonValue; |
+ |
+ /** Expression used for this match. */ |
+ core.String expression; |
+ |
+ /** |
+ * Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, |
+ * or EXACT. |
+ */ |
+ core.String matchType; |
+ |
+ /** |
+ * Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, |
+ * or VALUE. |
+ */ |
+ core.String type; |
+ |
+ |
+ GoalEventDetailsEventConditions(); |
+ |
+ GoalEventDetailsEventConditions.fromJson(core.Map _json) { |
+ if (_json.containsKey("comparisonType")) { |
+ comparisonType = _json["comparisonType"]; |
+ } |
+ if (_json.containsKey("comparisonValue")) { |
+ comparisonValue = _json["comparisonValue"]; |
+ } |
+ if (_json.containsKey("expression")) { |
+ expression = _json["expression"]; |
+ } |
+ if (_json.containsKey("matchType")) { |
+ matchType = _json["matchType"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (comparisonType != null) { |
+ _json["comparisonType"] = comparisonType; |
+ } |
+ if (comparisonValue != null) { |
+ _json["comparisonValue"] = comparisonValue; |
+ } |
+ if (expression != null) { |
+ _json["expression"] = expression; |
+ } |
+ if (matchType != null) { |
+ _json["matchType"] = matchType; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Details for the goal of the type EVENT. */ |
+class GoalEventDetails { |
+ /** List of event conditions. */ |
+ core.List<GoalEventDetailsEventConditions> eventConditions; |
+ |
+ /** |
+ * Determines if the event value should be used as the value for this goal. |
+ */ |
+ core.bool useEventValue; |
+ |
+ |
+ GoalEventDetails(); |
+ |
+ GoalEventDetails.fromJson(core.Map _json) { |
+ if (_json.containsKey("eventConditions")) { |
+ eventConditions = _json["eventConditions"].map((value) => new GoalEventDetailsEventConditions.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("useEventValue")) { |
+ useEventValue = _json["useEventValue"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (eventConditions != null) { |
+ _json["eventConditions"] = eventConditions.map((value) => (value).toJson()).toList(); |
+ } |
+ if (useEventValue != null) { |
+ _json["useEventValue"] = useEventValue; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Parent link for a goal. Points to the view (profile) to which this goal |
+ * belongs. |
+ */ |
+class GoalParentLink { |
+ /** Link to the view (profile) to which this goal belongs. */ |
+ core.String href; |
+ |
+ /** Value is "analytics#profile". */ |
+ core.String type; |
+ |
+ |
+ GoalParentLink(); |
+ |
+ GoalParentLink.fromJson(core.Map _json) { |
+ if (_json.containsKey("href")) { |
+ href = _json["href"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (href != null) { |
+ _json["href"] = href; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class GoalUrlDestinationDetailsSteps { |
+ /** Step name. */ |
+ core.String name; |
+ |
+ /** Step number. */ |
+ core.int number; |
+ |
+ /** URL for this step. */ |
+ core.String url; |
+ |
+ |
+ GoalUrlDestinationDetailsSteps(); |
+ |
+ GoalUrlDestinationDetailsSteps.fromJson(core.Map _json) { |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("number")) { |
+ number = _json["number"]; |
+ } |
+ if (_json.containsKey("url")) { |
+ url = _json["url"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (number != null) { |
+ _json["number"] = number; |
+ } |
+ if (url != null) { |
+ _json["url"] = url; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Details for the goal of the type URL_DESTINATION. */ |
+class GoalUrlDestinationDetails { |
+ /** |
+ * Determines if the goal URL must exactly match the capitalization of visited |
+ * URLs. |
+ */ |
+ core.bool caseSensitive; |
+ |
+ /** Determines if the first step in this goal is required. */ |
+ core.bool firstStepRequired; |
+ |
+ /** |
+ * Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX. |
+ */ |
+ core.String matchType; |
+ |
+ /** List of steps configured for this goal funnel. */ |
+ core.List<GoalUrlDestinationDetailsSteps> steps; |
+ |
+ /** URL for this goal. */ |
+ core.String url; |
+ |
+ |
+ GoalUrlDestinationDetails(); |
+ |
+ GoalUrlDestinationDetails.fromJson(core.Map _json) { |
+ if (_json.containsKey("caseSensitive")) { |
+ caseSensitive = _json["caseSensitive"]; |
+ } |
+ if (_json.containsKey("firstStepRequired")) { |
+ firstStepRequired = _json["firstStepRequired"]; |
+ } |
+ if (_json.containsKey("matchType")) { |
+ matchType = _json["matchType"]; |
+ } |
+ if (_json.containsKey("steps")) { |
+ steps = _json["steps"].map((value) => new GoalUrlDestinationDetailsSteps.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("url")) { |
+ url = _json["url"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (caseSensitive != null) { |
+ _json["caseSensitive"] = caseSensitive; |
+ } |
+ if (firstStepRequired != null) { |
+ _json["firstStepRequired"] = firstStepRequired; |
+ } |
+ if (matchType != null) { |
+ _json["matchType"] = matchType; |
+ } |
+ if (steps != null) { |
+ _json["steps"] = steps.map((value) => (value).toJson()).toList(); |
+ } |
+ if (url != null) { |
+ _json["url"] = url; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Details for the goal of the type VISIT_NUM_PAGES. */ |
+class GoalVisitNumPagesDetails { |
+ /** |
+ * Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL. |
+ */ |
+ core.String comparisonType; |
+ |
+ /** Value used for this comparison. */ |
+ core.String comparisonValue; |
+ |
+ |
+ GoalVisitNumPagesDetails(); |
+ |
+ GoalVisitNumPagesDetails.fromJson(core.Map _json) { |
+ if (_json.containsKey("comparisonType")) { |
+ comparisonType = _json["comparisonType"]; |
+ } |
+ if (_json.containsKey("comparisonValue")) { |
+ comparisonValue = _json["comparisonValue"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (comparisonType != null) { |
+ _json["comparisonType"] = comparisonType; |
+ } |
+ if (comparisonValue != null) { |
+ _json["comparisonValue"] = comparisonValue; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Details for the goal of the type VISIT_TIME_ON_SITE. */ |
+class GoalVisitTimeOnSiteDetails { |
+ /** Type of comparison. Possible values are LESS_THAN or GREATER_THAN. */ |
+ core.String comparisonType; |
+ |
+ /** Value used for this comparison. */ |
+ core.String comparisonValue; |
+ |
+ |
+ GoalVisitTimeOnSiteDetails(); |
+ |
+ GoalVisitTimeOnSiteDetails.fromJson(core.Map _json) { |
+ if (_json.containsKey("comparisonType")) { |
+ comparisonType = _json["comparisonType"]; |
+ } |
+ if (_json.containsKey("comparisonValue")) { |
+ comparisonValue = _json["comparisonValue"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (comparisonType != null) { |
+ _json["comparisonType"] = comparisonType; |
+ } |
+ if (comparisonValue != null) { |
+ _json["comparisonValue"] = comparisonValue; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** JSON template for Analytics goal resource. */ |
+class Goal { |
+ /** Account ID to which this goal belongs. */ |
+ core.String accountId; |
+ |
+ /** Determines whether this goal is active. */ |
+ core.bool active; |
+ |
+ /** Time this goal was created. */ |
+ core.DateTime created; |
+ |
+ /** Details for the goal of the type EVENT. */ |
+ GoalEventDetails eventDetails; |
+ |
+ /** Goal ID. */ |
+ core.String id; |
+ |
+ /** Internal ID for the web property to which this goal belongs. */ |
+ core.String internalWebPropertyId; |
+ |
+ /** Resource type for an Analytics goal. */ |
+ core.String kind; |
+ |
+ /** Goal name. */ |
+ core.String name; |
+ |
+ /** |
+ * Parent link for a goal. Points to the view (profile) to which this goal |
+ * belongs. |
+ */ |
+ GoalParentLink parentLink; |
+ |
+ /** View (Profile) ID to which this goal belongs. */ |
+ core.String profileId; |
+ |
+ /** Link for this goal. */ |
+ core.String selfLink; |
+ |
+ /** |
+ * Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE, |
+ * VISIT_NUM_PAGES, AND EVENT. |
+ */ |
+ core.String type; |
+ |
+ /** Time this goal was last modified. */ |
+ core.DateTime updated; |
+ |
+ /** Details for the goal of the type URL_DESTINATION. */ |
+ GoalUrlDestinationDetails urlDestinationDetails; |
+ |
+ /** Goal value. */ |
+ core.double value; |
+ |
+ /** Details for the goal of the type VISIT_NUM_PAGES. */ |
+ GoalVisitNumPagesDetails visitNumPagesDetails; |
+ |
+ /** Details for the goal of the type VISIT_TIME_ON_SITE. */ |
+ GoalVisitTimeOnSiteDetails visitTimeOnSiteDetails; |
+ |
+ /** |
+ * Web property ID to which this goal belongs. The web property ID is of the |
+ * form UA-XXXXX-YY. |
+ */ |
+ core.String webPropertyId; |
+ |
+ |
+ Goal(); |
+ |
+ Goal.fromJson(core.Map _json) { |
+ if (_json.containsKey("accountId")) { |
+ accountId = _json["accountId"]; |
+ } |
+ if (_json.containsKey("active")) { |
+ active = _json["active"]; |
+ } |
+ if (_json.containsKey("created")) { |
+ created = core.DateTime.parse(_json["created"]); |
+ } |
+ if (_json.containsKey("eventDetails")) { |
+ eventDetails = new GoalEventDetails.fromJson(_json["eventDetails"]); |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("internalWebPropertyId")) { |
+ internalWebPropertyId = _json["internalWebPropertyId"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("parentLink")) { |
+ parentLink = new GoalParentLink.fromJson(_json["parentLink"]); |
+ } |
+ if (_json.containsKey("profileId")) { |
+ profileId = _json["profileId"]; |
+ } |
+ if (_json.containsKey("selfLink")) { |
+ selfLink = _json["selfLink"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ if (_json.containsKey("updated")) { |
+ updated = core.DateTime.parse(_json["updated"]); |
+ } |
+ if (_json.containsKey("urlDestinationDetails")) { |
+ urlDestinationDetails = new GoalUrlDestinationDetails.fromJson(_json["urlDestinationDetails"]); |
+ } |
+ if (_json.containsKey("value")) { |
+ value = _json["value"]; |
+ } |
+ if (_json.containsKey("visitNumPagesDetails")) { |
+ visitNumPagesDetails = new GoalVisitNumPagesDetails.fromJson(_json["visitNumPagesDetails"]); |
+ } |
+ if (_json.containsKey("visitTimeOnSiteDetails")) { |
+ visitTimeOnSiteDetails = new GoalVisitTimeOnSiteDetails.fromJson(_json["visitTimeOnSiteDetails"]); |
+ } |
+ if (_json.containsKey("webPropertyId")) { |
+ webPropertyId = _json["webPropertyId"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (accountId != null) { |
+ _json["accountId"] = accountId; |
+ } |
+ if (active != null) { |
+ _json["active"] = active; |
+ } |
+ if (created != null) { |
+ _json["created"] = (created).toIso8601String(); |
+ } |
+ if (eventDetails != null) { |
+ _json["eventDetails"] = (eventDetails).toJson(); |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (internalWebPropertyId != null) { |
+ _json["internalWebPropertyId"] = internalWebPropertyId; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (parentLink != null) { |
+ _json["parentLink"] = (parentLink).toJson(); |
+ } |
+ if (profileId != null) { |
+ _json["profileId"] = profileId; |
+ } |
+ if (selfLink != null) { |
+ _json["selfLink"] = selfLink; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ if (updated != null) { |
+ _json["updated"] = (updated).toIso8601String(); |
+ } |
+ if (urlDestinationDetails != null) { |
+ _json["urlDestinationDetails"] = (urlDestinationDetails).toJson(); |
+ } |
+ if (value != null) { |
+ _json["value"] = value; |
+ } |
+ if (visitNumPagesDetails != null) { |
+ _json["visitNumPagesDetails"] = (visitNumPagesDetails).toJson(); |
+ } |
+ if (visitTimeOnSiteDetails != null) { |
+ _json["visitTimeOnSiteDetails"] = (visitTimeOnSiteDetails).toJson(); |
+ } |
+ if (webPropertyId != null) { |
+ _json["webPropertyId"] = webPropertyId; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * A goal collection lists Analytics goals to which the user has access. Each |
+ * view (profile) can have a set of goals. Each resource in the Goal collection |
+ * corresponds to a single Analytics goal. |
+ */ |
+class Goals { |
+ /** A list of goals. */ |
+ core.List<Goal> items; |
+ |
+ /** |
+ * The maximum number of resources the response can contain, regardless of the |
+ * actual number of resources returned. Its value ranges from 1 to 1000 with a |
+ * value of 1000 by default, or otherwise specified by the max-results query |
+ * parameter. |
+ */ |
+ core.int itemsPerPage; |
+ |
+ /** Collection type. */ |
+ core.String kind; |
+ |
+ /** Link to next page for this goal collection. */ |
+ core.String nextLink; |
+ |
+ /** Link to previous page for this goal collection. */ |
+ core.String previousLink; |
+ |
+ /** |
+ * The starting index of the resources, which is 1 by default or otherwise |
+ * specified by the start-index query parameter. |
+ */ |
+ core.int startIndex; |
+ |
+ /** |
+ * The total number of results for the query, regardless of the number of |
+ * resources in the result. |
+ */ |
+ core.int totalResults; |
+ |
+ /** Email ID of the authenticated user */ |
+ core.String username; |
+ |
+ |
+ Goals(); |
+ |
+ Goals.fromJson(core.Map _json) { |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new Goal.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("itemsPerPage")) { |
+ itemsPerPage = _json["itemsPerPage"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextLink")) { |
+ nextLink = _json["nextLink"]; |
+ } |
+ if (_json.containsKey("previousLink")) { |
+ previousLink = _json["previousLink"]; |
+ } |
+ if (_json.containsKey("startIndex")) { |
+ startIndex = _json["startIndex"]; |
+ } |
+ if (_json.containsKey("totalResults")) { |
+ totalResults = _json["totalResults"]; |
+ } |
+ if (_json.containsKey("username")) { |
+ username = _json["username"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (itemsPerPage != null) { |
+ _json["itemsPerPage"] = itemsPerPage; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextLink != null) { |
+ _json["nextLink"] = nextLink; |
+ } |
+ if (previousLink != null) { |
+ _json["previousLink"] = previousLink; |
+ } |
+ if (startIndex != null) { |
+ _json["startIndex"] = startIndex; |
+ } |
+ if (totalResults != null) { |
+ _json["totalResults"] = totalResults; |
+ } |
+ if (username != null) { |
+ _json["username"] = username; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class McfDataColumnHeaders { |
+ /** Column Type. Either DIMENSION or METRIC. */ |
+ core.String columnType; |
+ |
+ /** |
+ * Data type. Dimension and metric values data types such as INTEGER, DOUBLE, |
+ * CURRENCY, MCF_SEQUENCE etc. |
+ */ |
+ core.String dataType; |
+ |
+ /** Column name. */ |
+ core.String name; |
+ |
+ |
+ McfDataColumnHeaders(); |
+ |
+ McfDataColumnHeaders.fromJson(core.Map _json) { |
+ if (_json.containsKey("columnType")) { |
+ columnType = _json["columnType"]; |
+ } |
+ if (_json.containsKey("dataType")) { |
+ dataType = _json["dataType"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (columnType != null) { |
+ _json["columnType"] = columnType; |
+ } |
+ if (dataType != null) { |
+ _json["dataType"] = dataType; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Information for the view (profile), for which the Analytics data was |
+ * requested. |
+ */ |
+class McfDataProfileInfo { |
+ /** Account ID to which this view (profile) belongs. */ |
+ core.String accountId; |
+ |
+ /** Internal ID for the web property to which this view (profile) belongs. */ |
+ core.String internalWebPropertyId; |
+ |
+ /** View (Profile) ID. */ |
+ core.String profileId; |
+ |
+ /** View (Profile) name. */ |
+ core.String profileName; |
+ |
+ /** Table ID for view (profile). */ |
+ core.String tableId; |
+ |
+ /** Web Property ID to which this view (profile) belongs. */ |
+ core.String webPropertyId; |
+ |
+ |
+ McfDataProfileInfo(); |
+ |
+ McfDataProfileInfo.fromJson(core.Map _json) { |
+ if (_json.containsKey("accountId")) { |
+ accountId = _json["accountId"]; |
+ } |
+ if (_json.containsKey("internalWebPropertyId")) { |
+ internalWebPropertyId = _json["internalWebPropertyId"]; |
+ } |
+ if (_json.containsKey("profileId")) { |
+ profileId = _json["profileId"]; |
+ } |
+ if (_json.containsKey("profileName")) { |
+ profileName = _json["profileName"]; |
+ } |
+ if (_json.containsKey("tableId")) { |
+ tableId = _json["tableId"]; |
+ } |
+ if (_json.containsKey("webPropertyId")) { |
+ webPropertyId = _json["webPropertyId"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (accountId != null) { |
+ _json["accountId"] = accountId; |
+ } |
+ if (internalWebPropertyId != null) { |
+ _json["internalWebPropertyId"] = internalWebPropertyId; |
+ } |
+ if (profileId != null) { |
+ _json["profileId"] = profileId; |
+ } |
+ if (profileName != null) { |
+ _json["profileName"] = profileName; |
+ } |
+ if (tableId != null) { |
+ _json["tableId"] = tableId; |
+ } |
+ if (webPropertyId != null) { |
+ _json["webPropertyId"] = webPropertyId; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Analytics data request query parameters. */ |
+class McfDataQuery { |
+ /** List of analytics dimensions. */ |
+ core.String dimensions; |
+ |
+ /** End date. */ |
+ core.String end_date; |
+ |
+ /** Comma-separated list of dimension or metric filters. */ |
+ core.String filters; |
+ |
+ /** Unique table ID. */ |
+ core.String ids; |
+ |
+ /** Maximum results per page. */ |
+ core.int max_results; |
+ |
+ /** List of analytics metrics. */ |
+ core.List<core.String> metrics; |
+ |
+ /** Desired sampling level */ |
+ core.String samplingLevel; |
+ |
+ /** Analytics advanced segment. */ |
+ core.String segment; |
+ |
+ /** List of dimensions or metrics based on which Analytics data is sorted. */ |
+ core.List<core.String> sort; |
+ |
+ /** Start date. */ |
+ core.String start_date; |
+ |
+ /** Start index. */ |
+ core.int start_index; |
+ |
+ |
+ McfDataQuery(); |
+ |
+ McfDataQuery.fromJson(core.Map _json) { |
+ if (_json.containsKey("dimensions")) { |
+ dimensions = _json["dimensions"]; |
+ } |
+ if (_json.containsKey("end-date")) { |
+ end_date = _json["end-date"]; |
+ } |
+ if (_json.containsKey("filters")) { |
+ filters = _json["filters"]; |
+ } |
+ if (_json.containsKey("ids")) { |
+ ids = _json["ids"]; |
+ } |
+ if (_json.containsKey("max-results")) { |
+ max_results = _json["max-results"]; |
+ } |
+ if (_json.containsKey("metrics")) { |
+ metrics = _json["metrics"]; |
+ } |
+ if (_json.containsKey("samplingLevel")) { |
+ samplingLevel = _json["samplingLevel"]; |
+ } |
+ if (_json.containsKey("segment")) { |
+ segment = _json["segment"]; |
+ } |
+ if (_json.containsKey("sort")) { |
+ sort = _json["sort"]; |
+ } |
+ if (_json.containsKey("start-date")) { |
+ start_date = _json["start-date"]; |
+ } |
+ if (_json.containsKey("start-index")) { |
+ start_index = _json["start-index"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (dimensions != null) { |
+ _json["dimensions"] = dimensions; |
+ } |
+ if (end_date != null) { |
+ _json["end-date"] = end_date; |
+ } |
+ if (filters != null) { |
+ _json["filters"] = filters; |
+ } |
+ if (ids != null) { |
+ _json["ids"] = ids; |
+ } |
+ if (max_results != null) { |
+ _json["max-results"] = max_results; |
+ } |
+ if (metrics != null) { |
+ _json["metrics"] = metrics; |
+ } |
+ if (samplingLevel != null) { |
+ _json["samplingLevel"] = samplingLevel; |
+ } |
+ if (segment != null) { |
+ _json["segment"] = segment; |
+ } |
+ if (sort != null) { |
+ _json["sort"] = sort; |
+ } |
+ if (start_date != null) { |
+ _json["start-date"] = start_date; |
+ } |
+ if (start_index != null) { |
+ _json["start-index"] = start_index; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class McfDataRowsConversionPathValue { |
+ /** |
+ * Type of an interaction on conversion path. Such as CLICK, IMPRESSION etc. |
+ */ |
+ core.String interactionType; |
+ |
+ /** |
+ * Node value of an interaction on conversion path. Such as source, medium |
+ * etc. |
+ */ |
+ core.String nodeValue; |
+ |
+ |
+ McfDataRowsConversionPathValue(); |
+ |
+ McfDataRowsConversionPathValue.fromJson(core.Map _json) { |
+ if (_json.containsKey("interactionType")) { |
+ interactionType = _json["interactionType"]; |
+ } |
+ if (_json.containsKey("nodeValue")) { |
+ nodeValue = _json["nodeValue"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (interactionType != null) { |
+ _json["interactionType"] = interactionType; |
+ } |
+ if (nodeValue != null) { |
+ _json["nodeValue"] = nodeValue; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * A union object representing a dimension or metric value. Only one of |
+ * "primitiveValue" or "conversionPathValue" attribute will be populated. |
+ */ |
+class McfDataRows { |
+ /** |
+ * A conversion path dimension value, containing a list of interactions with |
+ * their attributes. |
+ */ |
+ core.List<McfDataRowsConversionPathValue> conversionPathValue; |
+ |
+ /** A primitive dimension value. A primitive metric value. */ |
+ core.String primitiveValue; |
+ |
+ |
+ McfDataRows(); |
+ |
+ McfDataRows.fromJson(core.Map _json) { |
+ if (_json.containsKey("conversionPathValue")) { |
+ conversionPathValue = _json["conversionPathValue"].map((value) => new McfDataRowsConversionPathValue.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("primitiveValue")) { |
+ primitiveValue = _json["primitiveValue"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (conversionPathValue != null) { |
+ _json["conversionPathValue"] = conversionPathValue.map((value) => (value).toJson()).toList(); |
+ } |
+ if (primitiveValue != null) { |
+ _json["primitiveValue"] = primitiveValue; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Multi-Channel Funnels data for a given view (profile). */ |
+class McfData { |
+ /** |
+ * Column headers that list dimension names followed by the metric names. The |
+ * order of dimensions and metrics is same as specified in the request. |
+ */ |
+ core.List<McfDataColumnHeaders> columnHeaders; |
+ |
+ /** Determines if the Analytics data contains sampled data. */ |
+ core.bool containsSampledData; |
+ |
+ /** Unique ID for this data response. */ |
+ core.String id; |
+ |
+ /** |
+ * The maximum number of rows the response can contain, regardless of the |
+ * actual number of rows returned. Its value ranges from 1 to 10,000 with a |
+ * value of 1000 by default, or otherwise specified by the max-results query |
+ * parameter. |
+ */ |
+ core.int itemsPerPage; |
+ |
+ /** Resource type. */ |
+ core.String kind; |
+ |
+ /** Link to next page for this Analytics data query. */ |
+ core.String nextLink; |
+ |
+ /** Link to previous page for this Analytics data query. */ |
+ core.String previousLink; |
+ |
+ /** |
+ * Information for the view (profile), for which the Analytics data was |
+ * requested. |
+ */ |
+ McfDataProfileInfo profileInfo; |
+ |
+ /** Analytics data request query parameters. */ |
+ McfDataQuery query; |
+ |
+ /** |
+ * Analytics data rows, where each row contains a list of dimension values |
+ * followed by the metric values. The order of dimensions and metrics is same |
+ * as specified in the request. |
+ */ |
+ core.List<core.List<McfDataRows>> rows; |
+ |
+ /** The number of samples used to calculate the result. */ |
+ core.String sampleSize; |
+ |
+ /** Total size of the sample space from which the samples were selected. */ |
+ core.String sampleSpace; |
+ |
+ /** Link to this page. */ |
+ core.String selfLink; |
+ |
+ /** |
+ * The total number of rows for the query, regardless of the number of rows in |
+ * the response. |
+ */ |
+ core.int totalResults; |
+ |
+ /** |
+ * Total values for the requested metrics over all the results, not just the |
+ * results returned in this response. The order of the metric totals is same |
+ * as the metric order specified in the request. |
+ */ |
+ core.Map<core.String, core.String> totalsForAllResults; |
+ |
+ |
+ McfData(); |
+ |
+ McfData.fromJson(core.Map _json) { |
+ if (_json.containsKey("columnHeaders")) { |
+ columnHeaders = _json["columnHeaders"].map((value) => new McfDataColumnHeaders.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("containsSampledData")) { |
+ containsSampledData = _json["containsSampledData"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("itemsPerPage")) { |
+ itemsPerPage = _json["itemsPerPage"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextLink")) { |
+ nextLink = _json["nextLink"]; |
+ } |
+ if (_json.containsKey("previousLink")) { |
+ previousLink = _json["previousLink"]; |
+ } |
+ if (_json.containsKey("profileInfo")) { |
+ profileInfo = new McfDataProfileInfo.fromJson(_json["profileInfo"]); |
+ } |
+ if (_json.containsKey("query")) { |
+ query = new McfDataQuery.fromJson(_json["query"]); |
+ } |
+ if (_json.containsKey("rows")) { |
+ rows = _json["rows"].map((value) => value.map((value) => new McfDataRows.fromJson(value)).toList()).toList(); |
+ } |
+ if (_json.containsKey("sampleSize")) { |
+ sampleSize = _json["sampleSize"]; |
+ } |
+ if (_json.containsKey("sampleSpace")) { |
+ sampleSpace = _json["sampleSpace"]; |
+ } |
+ if (_json.containsKey("selfLink")) { |
+ selfLink = _json["selfLink"]; |
+ } |
+ if (_json.containsKey("totalResults")) { |
+ totalResults = _json["totalResults"]; |
+ } |
+ if (_json.containsKey("totalsForAllResults")) { |
+ totalsForAllResults = _json["totalsForAllResults"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (columnHeaders != null) { |
+ _json["columnHeaders"] = columnHeaders.map((value) => (value).toJson()).toList(); |
+ } |
+ if (containsSampledData != null) { |
+ _json["containsSampledData"] = containsSampledData; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (itemsPerPage != null) { |
+ _json["itemsPerPage"] = itemsPerPage; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextLink != null) { |
+ _json["nextLink"] = nextLink; |
+ } |
+ if (previousLink != null) { |
+ _json["previousLink"] = previousLink; |
+ } |
+ if (profileInfo != null) { |
+ _json["profileInfo"] = (profileInfo).toJson(); |
+ } |
+ if (query != null) { |
+ _json["query"] = (query).toJson(); |
+ } |
+ if (rows != null) { |
+ _json["rows"] = rows.map((value) => value.map((value) => (value).toJson()).toList()).toList(); |
+ } |
+ if (sampleSize != null) { |
+ _json["sampleSize"] = sampleSize; |
+ } |
+ if (sampleSpace != null) { |
+ _json["sampleSpace"] = sampleSpace; |
+ } |
+ if (selfLink != null) { |
+ _json["selfLink"] = selfLink; |
+ } |
+ if (totalResults != null) { |
+ _json["totalResults"] = totalResults; |
+ } |
+ if (totalsForAllResults != null) { |
+ _json["totalsForAllResults"] = totalsForAllResults; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Child link for this view (profile). Points to the list of goals for this view |
+ * (profile). |
+ */ |
+class ProfileChildLink { |
+ /** Link to the list of goals for this view (profile). */ |
+ core.String href; |
+ |
+ /** Value is "analytics#goals". */ |
+ core.String type; |
+ |
+ |
+ ProfileChildLink(); |
+ |
+ ProfileChildLink.fromJson(core.Map _json) { |
+ if (_json.containsKey("href")) { |
+ href = _json["href"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (href != null) { |
+ _json["href"] = href; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Parent link for this view (profile). Points to the web property to which this |
+ * view (profile) belongs. |
+ */ |
+class ProfileParentLink { |
+ /** Link to the web property to which this view (profile) belongs. */ |
+ core.String href; |
+ |
+ /** Value is "analytics#webproperty". */ |
+ core.String type; |
+ |
+ |
+ ProfileParentLink(); |
+ |
+ ProfileParentLink.fromJson(core.Map _json) { |
+ if (_json.containsKey("href")) { |
+ href = _json["href"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (href != null) { |
+ _json["href"] = href; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Permissions the user has for this view (profile). */ |
+class ProfilePermissions { |
+ /** |
+ * All the permissions that the user has for this view (profile). These |
+ * include any implied permissions (e.g., EDIT implies VIEW) or inherited |
+ * permissions from the parent web property. |
+ */ |
+ core.List<core.String> effective; |
+ |
+ |
+ ProfilePermissions(); |
+ |
+ ProfilePermissions.fromJson(core.Map _json) { |
+ if (_json.containsKey("effective")) { |
+ effective = _json["effective"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (effective != null) { |
+ _json["effective"] = effective; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** JSON template for an Analytics view (profile). */ |
+class Profile { |
+ /** Account ID to which this view (profile) belongs. */ |
+ core.String accountId; |
+ |
+ /** |
+ * Child link for this view (profile). Points to the list of goals for this |
+ * view (profile). |
+ */ |
+ ProfileChildLink childLink; |
+ |
+ /** Time this view (profile) was created. */ |
+ core.DateTime created; |
+ |
+ /** |
+ * The currency type associated with this view (profile). The supported values |
+ * are: |
+ * ARS, AUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, IDR, INR, |
+ * JPY, KRW, LTL, MXN, NOK, NZD, PHP, PLN, RUB, SEK, THB, TRY, TWD, USD, VND, |
+ * ZAR |
+ */ |
+ core.String currency; |
+ |
+ /** Default page for this view (profile). */ |
+ core.String defaultPage; |
+ |
+ /** |
+ * Indicates whether ecommerce tracking is enabled for this view (profile). |
+ */ |
+ core.bool eCommerceTracking; |
+ |
+ /** The query parameters that are excluded from this view (profile). */ |
+ core.String excludeQueryParameters; |
+ |
+ /** View (Profile) ID. */ |
+ core.String id; |
+ |
+ /** Internal ID for the web property to which this view (profile) belongs. */ |
+ core.String internalWebPropertyId; |
+ |
+ /** Resource type for Analytics view (profile). */ |
+ core.String kind; |
+ |
+ /** Name of this view (profile). */ |
+ core.String name; |
+ |
+ /** |
+ * Parent link for this view (profile). Points to the web property to which |
+ * this view (profile) belongs. |
+ */ |
+ ProfileParentLink parentLink; |
+ |
+ /** Permissions the user has for this view (profile). */ |
+ ProfilePermissions permissions; |
+ |
+ /** Link for this view (profile). */ |
+ core.String selfLink; |
+ |
+ /** Site search category parameters for this view (profile). */ |
+ core.String siteSearchCategoryParameters; |
+ |
+ /** The site search query parameters for this view (profile). */ |
+ core.String siteSearchQueryParameters; |
+ |
+ /** |
+ * Whether or not Analytics will strip search category parameters from the |
+ * URLs in your reports. |
+ */ |
+ core.bool stripSiteSearchCategoryParameters; |
+ |
+ /** |
+ * Whether or not Analytics will strip search query parameters from the URLs |
+ * in your reports. |
+ */ |
+ core.bool stripSiteSearchQueryParameters; |
+ |
+ /** |
+ * Time zone for which this view (profile) has been configured. Time zones are |
+ * identified by strings from the TZ database. |
+ */ |
+ core.String timezone; |
+ |
+ /** View (Profile) type. Supported types: WEB or APP. */ |
+ core.String type; |
+ |
+ /** Time this view (profile) was last modified. */ |
+ core.DateTime updated; |
+ |
+ /** |
+ * Web property ID of the form UA-XXXXX-YY to which this view (profile) |
+ * belongs. |
+ */ |
+ core.String webPropertyId; |
+ |
+ /** Website URL for this view (profile). */ |
+ core.String websiteUrl; |
+ |
+ |
+ Profile(); |
+ |
+ Profile.fromJson(core.Map _json) { |
+ if (_json.containsKey("accountId")) { |
+ accountId = _json["accountId"]; |
+ } |
+ if (_json.containsKey("childLink")) { |
+ childLink = new ProfileChildLink.fromJson(_json["childLink"]); |
+ } |
+ if (_json.containsKey("created")) { |
+ created = core.DateTime.parse(_json["created"]); |
+ } |
+ if (_json.containsKey("currency")) { |
+ currency = _json["currency"]; |
+ } |
+ if (_json.containsKey("defaultPage")) { |
+ defaultPage = _json["defaultPage"]; |
+ } |
+ if (_json.containsKey("eCommerceTracking")) { |
+ eCommerceTracking = _json["eCommerceTracking"]; |
+ } |
+ if (_json.containsKey("excludeQueryParameters")) { |
+ excludeQueryParameters = _json["excludeQueryParameters"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("internalWebPropertyId")) { |
+ internalWebPropertyId = _json["internalWebPropertyId"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("parentLink")) { |
+ parentLink = new ProfileParentLink.fromJson(_json["parentLink"]); |
+ } |
+ if (_json.containsKey("permissions")) { |
+ permissions = new ProfilePermissions.fromJson(_json["permissions"]); |
+ } |
+ if (_json.containsKey("selfLink")) { |
+ selfLink = _json["selfLink"]; |
+ } |
+ if (_json.containsKey("siteSearchCategoryParameters")) { |
+ siteSearchCategoryParameters = _json["siteSearchCategoryParameters"]; |
+ } |
+ if (_json.containsKey("siteSearchQueryParameters")) { |
+ siteSearchQueryParameters = _json["siteSearchQueryParameters"]; |
+ } |
+ if (_json.containsKey("stripSiteSearchCategoryParameters")) { |
+ stripSiteSearchCategoryParameters = _json["stripSiteSearchCategoryParameters"]; |
+ } |
+ if (_json.containsKey("stripSiteSearchQueryParameters")) { |
+ stripSiteSearchQueryParameters = _json["stripSiteSearchQueryParameters"]; |
+ } |
+ if (_json.containsKey("timezone")) { |
+ timezone = _json["timezone"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ if (_json.containsKey("updated")) { |
+ updated = core.DateTime.parse(_json["updated"]); |
+ } |
+ if (_json.containsKey("webPropertyId")) { |
+ webPropertyId = _json["webPropertyId"]; |
+ } |
+ if (_json.containsKey("websiteUrl")) { |
+ websiteUrl = _json["websiteUrl"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (accountId != null) { |
+ _json["accountId"] = accountId; |
+ } |
+ if (childLink != null) { |
+ _json["childLink"] = (childLink).toJson(); |
+ } |
+ if (created != null) { |
+ _json["created"] = (created).toIso8601String(); |
+ } |
+ if (currency != null) { |
+ _json["currency"] = currency; |
+ } |
+ if (defaultPage != null) { |
+ _json["defaultPage"] = defaultPage; |
+ } |
+ if (eCommerceTracking != null) { |
+ _json["eCommerceTracking"] = eCommerceTracking; |
+ } |
+ if (excludeQueryParameters != null) { |
+ _json["excludeQueryParameters"] = excludeQueryParameters; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (internalWebPropertyId != null) { |
+ _json["internalWebPropertyId"] = internalWebPropertyId; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (parentLink != null) { |
+ _json["parentLink"] = (parentLink).toJson(); |
+ } |
+ if (permissions != null) { |
+ _json["permissions"] = (permissions).toJson(); |
+ } |
+ if (selfLink != null) { |
+ _json["selfLink"] = selfLink; |
+ } |
+ if (siteSearchCategoryParameters != null) { |
+ _json["siteSearchCategoryParameters"] = siteSearchCategoryParameters; |
+ } |
+ if (siteSearchQueryParameters != null) { |
+ _json["siteSearchQueryParameters"] = siteSearchQueryParameters; |
+ } |
+ if (stripSiteSearchCategoryParameters != null) { |
+ _json["stripSiteSearchCategoryParameters"] = stripSiteSearchCategoryParameters; |
+ } |
+ if (stripSiteSearchQueryParameters != null) { |
+ _json["stripSiteSearchQueryParameters"] = stripSiteSearchQueryParameters; |
+ } |
+ if (timezone != null) { |
+ _json["timezone"] = timezone; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ if (updated != null) { |
+ _json["updated"] = (updated).toIso8601String(); |
+ } |
+ if (webPropertyId != null) { |
+ _json["webPropertyId"] = webPropertyId; |
+ } |
+ if (websiteUrl != null) { |
+ _json["websiteUrl"] = websiteUrl; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** JSON template for an Analytics profile filter link. */ |
+class ProfileFilterLink { |
+ /** Filter for this link. */ |
+ FilterRef filterRef; |
+ |
+ /** Profile filter link ID. */ |
+ core.String id; |
+ |
+ /** Resource type for Analytics filter. */ |
+ core.String kind; |
+ |
+ /** View (Profile) for this link. */ |
+ ProfileRef profileRef; |
+ |
+ /** |
+ * The rank of this profile filter link relative to the other filters linked |
+ * to the same profile. |
+ * For readonly (i.e., list and get) operations, the rank always starts at 1. |
+ * For write (i.e., create, update, or delete) operations, you may specify a |
+ * value between 0 and 255 inclusively, [0, 255]. In order to insert a link at |
+ * the end of the list, either don't specify a rank or set a rank to a number |
+ * greater than the largest rank in the list. In order to insert a link to the |
+ * beginning of the list specify a rank that is less than or equal to 1. The |
+ * new link will move all existing filters with the same or lower rank down |
+ * the list. After the link is inserted/updated/deleted all profile filter |
+ * links will be renumbered starting at 1. |
+ */ |
+ core.int rank; |
+ |
+ /** Link for this profile filter link. */ |
+ core.String selfLink; |
+ |
+ |
+ ProfileFilterLink(); |
+ |
+ ProfileFilterLink.fromJson(core.Map _json) { |
+ if (_json.containsKey("filterRef")) { |
+ filterRef = new FilterRef.fromJson(_json["filterRef"]); |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("profileRef")) { |
+ profileRef = new ProfileRef.fromJson(_json["profileRef"]); |
+ } |
+ if (_json.containsKey("rank")) { |
+ rank = _json["rank"]; |
+ } |
+ if (_json.containsKey("selfLink")) { |
+ selfLink = _json["selfLink"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (filterRef != null) { |
+ _json["filterRef"] = (filterRef).toJson(); |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (profileRef != null) { |
+ _json["profileRef"] = (profileRef).toJson(); |
+ } |
+ if (rank != null) { |
+ _json["rank"] = rank; |
+ } |
+ if (selfLink != null) { |
+ _json["selfLink"] = selfLink; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * A profile filter link collection lists profile filter links between profiles |
+ * and filters. Each resource in the collection corresponds to a profile filter |
+ * link. |
+ */ |
+class ProfileFilterLinks { |
+ /** A list of profile filter links. */ |
+ core.List<ProfileFilterLink> items; |
+ |
+ /** |
+ * The maximum number of resources the response can contain, regardless of the |
+ * actual number of resources returned. Its value ranges from 1 to 1,000 with |
+ * a value of 1000 by default, or otherwise specified by the max-results query |
+ * parameter. |
+ */ |
+ core.int itemsPerPage; |
+ |
+ /** Collection type. */ |
+ core.String kind; |
+ |
+ /** Link to next page for this profile filter link collection. */ |
+ core.String nextLink; |
+ |
+ /** Link to previous page for this profile filter link collection. */ |
+ core.String previousLink; |
+ |
+ /** |
+ * The starting index of the resources, which is 1 by default or otherwise |
+ * specified by the start-index query parameter. |
+ */ |
+ core.int startIndex; |
+ |
+ /** |
+ * The total number of results for the query, regardless of the number of |
+ * results in the response. |
+ */ |
+ core.int totalResults; |
+ |
+ /** Email ID of the authenticated user */ |
+ core.String username; |
+ |
+ |
+ ProfileFilterLinks(); |
+ |
+ ProfileFilterLinks.fromJson(core.Map _json) { |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new ProfileFilterLink.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("itemsPerPage")) { |
+ itemsPerPage = _json["itemsPerPage"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextLink")) { |
+ nextLink = _json["nextLink"]; |
+ } |
+ if (_json.containsKey("previousLink")) { |
+ previousLink = _json["previousLink"]; |
+ } |
+ if (_json.containsKey("startIndex")) { |
+ startIndex = _json["startIndex"]; |
+ } |
+ if (_json.containsKey("totalResults")) { |
+ totalResults = _json["totalResults"]; |
+ } |
+ if (_json.containsKey("username")) { |
+ username = _json["username"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (itemsPerPage != null) { |
+ _json["itemsPerPage"] = itemsPerPage; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextLink != null) { |
+ _json["nextLink"] = nextLink; |
+ } |
+ if (previousLink != null) { |
+ _json["previousLink"] = previousLink; |
+ } |
+ if (startIndex != null) { |
+ _json["startIndex"] = startIndex; |
+ } |
+ if (totalResults != null) { |
+ _json["totalResults"] = totalResults; |
+ } |
+ if (username != null) { |
+ _json["username"] = username; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** JSON template for a linked view (profile). */ |
+class ProfileRef { |
+ /** Account ID to which this view (profile) belongs. */ |
+ core.String accountId; |
+ |
+ /** Link for this view (profile). */ |
+ core.String href; |
+ |
+ /** View (Profile) ID. */ |
+ core.String id; |
+ |
+ /** Internal ID for the web property to which this view (profile) belongs. */ |
+ core.String internalWebPropertyId; |
+ |
+ /** Analytics view (profile) reference. */ |
+ core.String kind; |
+ |
+ /** Name of this view (profile). */ |
+ core.String name; |
+ |
+ /** |
+ * Web property ID of the form UA-XXXXX-YY to which this view (profile) |
+ * belongs. |
+ */ |
+ core.String webPropertyId; |
+ |
+ |
+ ProfileRef(); |
+ |
+ ProfileRef.fromJson(core.Map _json) { |
+ if (_json.containsKey("accountId")) { |
+ accountId = _json["accountId"]; |
+ } |
+ if (_json.containsKey("href")) { |
+ href = _json["href"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("internalWebPropertyId")) { |
+ internalWebPropertyId = _json["internalWebPropertyId"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("webPropertyId")) { |
+ webPropertyId = _json["webPropertyId"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (accountId != null) { |
+ _json["accountId"] = accountId; |
+ } |
+ if (href != null) { |
+ _json["href"] = href; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (internalWebPropertyId != null) { |
+ _json["internalWebPropertyId"] = internalWebPropertyId; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (webPropertyId != null) { |
+ _json["webPropertyId"] = webPropertyId; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * JSON template for an Analytics ProfileSummary. ProfileSummary returns basic |
+ * information (i.e., summary) for a profile. |
+ */ |
+class ProfileSummary { |
+ /** View (profile) ID. */ |
+ core.String id; |
+ |
+ /** Resource type for Analytics ProfileSummary. */ |
+ core.String kind; |
+ |
+ /** View (profile) name. */ |
+ core.String name; |
+ |
+ /** View (Profile) type. Supported types: WEB or APP. */ |
+ core.String type; |
+ |
+ |
+ ProfileSummary(); |
+ |
+ ProfileSummary.fromJson(core.Map _json) { |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * A view (profile) collection lists Analytics views (profiles) to which the |
+ * user has access. Each resource in the collection corresponds to a single |
+ * Analytics view (profile). |
+ */ |
+class Profiles { |
+ /** A list of views (profiles). */ |
+ core.List<Profile> items; |
+ |
+ /** |
+ * The maximum number of resources the response can contain, regardless of the |
+ * actual number of resources returned. Its value ranges from 1 to 1000 with a |
+ * value of 1000 by default, or otherwise specified by the max-results query |
+ * parameter. |
+ */ |
+ core.int itemsPerPage; |
+ |
+ /** Collection type. */ |
+ core.String kind; |
+ |
+ /** Link to next page for this view (profile) collection. */ |
+ core.String nextLink; |
+ |
+ /** Link to previous page for this view (profile) collection. */ |
+ core.String previousLink; |
+ |
+ /** |
+ * The starting index of the resources, which is 1 by default or otherwise |
+ * specified by the start-index query parameter. |
+ */ |
+ core.int startIndex; |
+ |
+ /** |
+ * The total number of results for the query, regardless of the number of |
+ * results in the response. |
+ */ |
+ core.int totalResults; |
+ |
+ /** Email ID of the authenticated user */ |
+ core.String username; |
+ |
+ |
+ Profiles(); |
+ |
+ Profiles.fromJson(core.Map _json) { |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new Profile.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("itemsPerPage")) { |
+ itemsPerPage = _json["itemsPerPage"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextLink")) { |
+ nextLink = _json["nextLink"]; |
+ } |
+ if (_json.containsKey("previousLink")) { |
+ previousLink = _json["previousLink"]; |
+ } |
+ if (_json.containsKey("startIndex")) { |
+ startIndex = _json["startIndex"]; |
+ } |
+ if (_json.containsKey("totalResults")) { |
+ totalResults = _json["totalResults"]; |
+ } |
+ if (_json.containsKey("username")) { |
+ username = _json["username"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (itemsPerPage != null) { |
+ _json["itemsPerPage"] = itemsPerPage; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextLink != null) { |
+ _json["nextLink"] = nextLink; |
+ } |
+ if (previousLink != null) { |
+ _json["previousLink"] = previousLink; |
+ } |
+ if (startIndex != null) { |
+ _json["startIndex"] = startIndex; |
+ } |
+ if (totalResults != null) { |
+ _json["totalResults"] = totalResults; |
+ } |
+ if (username != null) { |
+ _json["username"] = username; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class RealtimeDataColumnHeaders { |
+ /** Column Type. Either DIMENSION or METRIC. */ |
+ core.String columnType; |
+ |
+ /** |
+ * Data type. Dimension column headers have only STRING as the data type. |
+ * Metric column headers have data types for metric values such as INTEGER, |
+ * DOUBLE, CURRENCY etc. |
+ */ |
+ core.String dataType; |
+ |
+ /** Column name. */ |
+ core.String name; |
+ |
+ |
+ RealtimeDataColumnHeaders(); |
+ |
+ RealtimeDataColumnHeaders.fromJson(core.Map _json) { |
+ if (_json.containsKey("columnType")) { |
+ columnType = _json["columnType"]; |
+ } |
+ if (_json.containsKey("dataType")) { |
+ dataType = _json["dataType"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (columnType != null) { |
+ _json["columnType"] = columnType; |
+ } |
+ if (dataType != null) { |
+ _json["dataType"] = dataType; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Information for the view (profile), for which the real time data was |
+ * requested. |
+ */ |
+class RealtimeDataProfileInfo { |
+ /** Account ID to which this view (profile) belongs. */ |
+ core.String accountId; |
+ |
+ /** Internal ID for the web property to which this view (profile) belongs. */ |
+ core.String internalWebPropertyId; |
+ |
+ /** View (Profile) ID. */ |
+ core.String profileId; |
+ |
+ /** View (Profile) name. */ |
+ core.String profileName; |
+ |
+ /** Table ID for view (profile). */ |
+ core.String tableId; |
+ |
+ /** Web Property ID to which this view (profile) belongs. */ |
+ core.String webPropertyId; |
+ |
+ |
+ RealtimeDataProfileInfo(); |
+ |
+ RealtimeDataProfileInfo.fromJson(core.Map _json) { |
+ if (_json.containsKey("accountId")) { |
+ accountId = _json["accountId"]; |
+ } |
+ if (_json.containsKey("internalWebPropertyId")) { |
+ internalWebPropertyId = _json["internalWebPropertyId"]; |
+ } |
+ if (_json.containsKey("profileId")) { |
+ profileId = _json["profileId"]; |
+ } |
+ if (_json.containsKey("profileName")) { |
+ profileName = _json["profileName"]; |
+ } |
+ if (_json.containsKey("tableId")) { |
+ tableId = _json["tableId"]; |
+ } |
+ if (_json.containsKey("webPropertyId")) { |
+ webPropertyId = _json["webPropertyId"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (accountId != null) { |
+ _json["accountId"] = accountId; |
+ } |
+ if (internalWebPropertyId != null) { |
+ _json["internalWebPropertyId"] = internalWebPropertyId; |
+ } |
+ if (profileId != null) { |
+ _json["profileId"] = profileId; |
+ } |
+ if (profileName != null) { |
+ _json["profileName"] = profileName; |
+ } |
+ if (tableId != null) { |
+ _json["tableId"] = tableId; |
+ } |
+ if (webPropertyId != null) { |
+ _json["webPropertyId"] = webPropertyId; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Real time data request query parameters. */ |
+class RealtimeDataQuery { |
+ /** List of real time dimensions. */ |
+ core.String dimensions; |
+ |
+ /** Comma-separated list of dimension or metric filters. */ |
+ core.String filters; |
+ |
+ /** Unique table ID. */ |
+ core.String ids; |
+ |
+ /** Maximum results per page. */ |
+ core.int max_results; |
+ |
+ /** List of real time metrics. */ |
+ core.List<core.String> metrics; |
+ |
+ /** List of dimensions or metrics based on which real time data is sorted. */ |
+ core.List<core.String> sort; |
+ |
+ |
+ RealtimeDataQuery(); |
+ |
+ RealtimeDataQuery.fromJson(core.Map _json) { |
+ if (_json.containsKey("dimensions")) { |
+ dimensions = _json["dimensions"]; |
+ } |
+ if (_json.containsKey("filters")) { |
+ filters = _json["filters"]; |
+ } |
+ if (_json.containsKey("ids")) { |
+ ids = _json["ids"]; |
+ } |
+ if (_json.containsKey("max-results")) { |
+ max_results = _json["max-results"]; |
+ } |
+ if (_json.containsKey("metrics")) { |
+ metrics = _json["metrics"]; |
+ } |
+ if (_json.containsKey("sort")) { |
+ sort = _json["sort"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (dimensions != null) { |
+ _json["dimensions"] = dimensions; |
+ } |
+ if (filters != null) { |
+ _json["filters"] = filters; |
+ } |
+ if (ids != null) { |
+ _json["ids"] = ids; |
+ } |
+ if (max_results != null) { |
+ _json["max-results"] = max_results; |
+ } |
+ if (metrics != null) { |
+ _json["metrics"] = metrics; |
+ } |
+ if (sort != null) { |
+ _json["sort"] = sort; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Real time data for a given view (profile). */ |
+class RealtimeData { |
+ /** |
+ * Column headers that list dimension names followed by the metric names. The |
+ * order of dimensions and metrics is same as specified in the request. |
+ */ |
+ core.List<RealtimeDataColumnHeaders> columnHeaders; |
+ |
+ /** Unique ID for this data response. */ |
+ core.String id; |
+ |
+ /** Resource type. */ |
+ core.String kind; |
+ |
+ /** |
+ * Information for the view (profile), for which the real time data was |
+ * requested. |
+ */ |
+ RealtimeDataProfileInfo profileInfo; |
+ |
+ /** Real time data request query parameters. */ |
+ RealtimeDataQuery query; |
+ |
+ /** |
+ * Real time data rows, where each row contains a list of dimension values |
+ * followed by the metric values. The order of dimensions and metrics is same |
+ * as specified in the request. |
+ */ |
+ core.List<core.List<core.String>> rows; |
+ |
+ /** Link to this page. */ |
+ core.String selfLink; |
+ |
+ /** |
+ * The total number of rows for the query, regardless of the number of rows in |
+ * the response. |
+ */ |
+ core.int totalResults; |
+ |
+ /** |
+ * Total values for the requested metrics over all the results, not just the |
+ * results returned in this response. The order of the metric totals is same |
+ * as the metric order specified in the request. |
+ */ |
+ core.Map<core.String, core.String> totalsForAllResults; |
+ |
+ |
+ RealtimeData(); |
+ |
+ RealtimeData.fromJson(core.Map _json) { |
+ if (_json.containsKey("columnHeaders")) { |
+ columnHeaders = _json["columnHeaders"].map((value) => new RealtimeDataColumnHeaders.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("profileInfo")) { |
+ profileInfo = new RealtimeDataProfileInfo.fromJson(_json["profileInfo"]); |
+ } |
+ if (_json.containsKey("query")) { |
+ query = new RealtimeDataQuery.fromJson(_json["query"]); |
+ } |
+ if (_json.containsKey("rows")) { |
+ rows = _json["rows"]; |
+ } |
+ if (_json.containsKey("selfLink")) { |
+ selfLink = _json["selfLink"]; |
+ } |
+ if (_json.containsKey("totalResults")) { |
+ totalResults = _json["totalResults"]; |
+ } |
+ if (_json.containsKey("totalsForAllResults")) { |
+ totalsForAllResults = _json["totalsForAllResults"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (columnHeaders != null) { |
+ _json["columnHeaders"] = columnHeaders.map((value) => (value).toJson()).toList(); |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (profileInfo != null) { |
+ _json["profileInfo"] = (profileInfo).toJson(); |
+ } |
+ if (query != null) { |
+ _json["query"] = (query).toJson(); |
+ } |
+ if (rows != null) { |
+ _json["rows"] = rows; |
+ } |
+ if (selfLink != null) { |
+ _json["selfLink"] = selfLink; |
+ } |
+ if (totalResults != null) { |
+ _json["totalResults"] = totalResults; |
+ } |
+ if (totalsForAllResults != null) { |
+ _json["totalsForAllResults"] = totalsForAllResults; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** JSON template for an Analytics segment. */ |
+class Segment { |
+ /** Time the segment was created. */ |
+ core.DateTime created; |
+ |
+ /** Segment definition. */ |
+ core.String definition; |
+ |
+ /** Segment ID. */ |
+ core.String id; |
+ |
+ /** Resource type for Analytics segment. */ |
+ core.String kind; |
+ |
+ /** Segment name. */ |
+ core.String name; |
+ |
+ /** |
+ * Segment ID. Can be used with the 'segment' parameter in Core Reporting API. |
+ */ |
+ core.String segmentId; |
+ |
+ /** Link for this segment. */ |
+ core.String selfLink; |
+ |
+ /** Type for a segment. Possible values are "BUILT_IN" or "CUSTOM". */ |
+ core.String type; |
+ |
+ /** Time the segment was last modified. */ |
+ core.DateTime updated; |
+ |
+ |
+ Segment(); |
+ |
+ Segment.fromJson(core.Map _json) { |
+ if (_json.containsKey("created")) { |
+ created = core.DateTime.parse(_json["created"]); |
+ } |
+ if (_json.containsKey("definition")) { |
+ definition = _json["definition"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("segmentId")) { |
+ segmentId = _json["segmentId"]; |
+ } |
+ if (_json.containsKey("selfLink")) { |
+ selfLink = _json["selfLink"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ if (_json.containsKey("updated")) { |
+ updated = core.DateTime.parse(_json["updated"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (created != null) { |
+ _json["created"] = (created).toIso8601String(); |
+ } |
+ if (definition != null) { |
+ _json["definition"] = definition; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (segmentId != null) { |
+ _json["segmentId"] = segmentId; |
+ } |
+ if (selfLink != null) { |
+ _json["selfLink"] = selfLink; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ if (updated != null) { |
+ _json["updated"] = (updated).toIso8601String(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * An segment collection lists Analytics segments that the user has access to. |
+ * Each resource in the collection corresponds to a single Analytics segment. |
+ */ |
+class Segments { |
+ /** A list of segments. */ |
+ core.List<Segment> items; |
+ |
+ /** |
+ * The maximum number of resources the response can contain, regardless of the |
+ * actual number of resources returned. Its value ranges from 1 to 1000 with a |
+ * value of 1000 by default, or otherwise specified by the max-results query |
+ * parameter. |
+ */ |
+ core.int itemsPerPage; |
+ |
+ /** Collection type for segments. */ |
+ core.String kind; |
+ |
+ /** Link to next page for this segment collection. */ |
+ core.String nextLink; |
+ |
+ /** Link to previous page for this segment collection. */ |
+ core.String previousLink; |
+ |
+ /** |
+ * The starting index of the resources, which is 1 by default or otherwise |
+ * specified by the start-index query parameter. |
+ */ |
+ core.int startIndex; |
+ |
+ /** |
+ * The total number of results for the query, regardless of the number of |
+ * results in the response. |
+ */ |
+ core.int totalResults; |
+ |
+ /** Email ID of the authenticated user */ |
+ core.String username; |
+ |
+ |
+ Segments(); |
+ |
+ Segments.fromJson(core.Map _json) { |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new Segment.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("itemsPerPage")) { |
+ itemsPerPage = _json["itemsPerPage"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextLink")) { |
+ nextLink = _json["nextLink"]; |
+ } |
+ if (_json.containsKey("previousLink")) { |
+ previousLink = _json["previousLink"]; |
+ } |
+ if (_json.containsKey("startIndex")) { |
+ startIndex = _json["startIndex"]; |
+ } |
+ if (_json.containsKey("totalResults")) { |
+ totalResults = _json["totalResults"]; |
+ } |
+ if (_json.containsKey("username")) { |
+ username = _json["username"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (itemsPerPage != null) { |
+ _json["itemsPerPage"] = itemsPerPage; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextLink != null) { |
+ _json["nextLink"] = nextLink; |
+ } |
+ if (previousLink != null) { |
+ _json["previousLink"] = previousLink; |
+ } |
+ if (startIndex != null) { |
+ _json["startIndex"] = startIndex; |
+ } |
+ if (totalResults != null) { |
+ _json["totalResults"] = totalResults; |
+ } |
+ if (username != null) { |
+ _json["username"] = username; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Download details for a file stored in Google Cloud Storage. */ |
+class UnsampledReportCloudStorageDownloadDetails { |
+ /** Id of the bucket the file object is stored in. */ |
+ core.String bucketId; |
+ |
+ /** Id of the file object containing the report data. */ |
+ core.String objectId; |
+ |
+ |
+ UnsampledReportCloudStorageDownloadDetails(); |
+ |
+ UnsampledReportCloudStorageDownloadDetails.fromJson(core.Map _json) { |
+ if (_json.containsKey("bucketId")) { |
+ bucketId = _json["bucketId"]; |
+ } |
+ if (_json.containsKey("objectId")) { |
+ objectId = _json["objectId"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (bucketId != null) { |
+ _json["bucketId"] = bucketId; |
+ } |
+ if (objectId != null) { |
+ _json["objectId"] = objectId; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Download details for a file stored in Google Drive. */ |
+class UnsampledReportDriveDownloadDetails { |
+ /** Id of the document/file containing the report data. */ |
+ core.String documentId; |
+ |
+ |
+ UnsampledReportDriveDownloadDetails(); |
+ |
+ UnsampledReportDriveDownloadDetails.fromJson(core.Map _json) { |
+ if (_json.containsKey("documentId")) { |
+ documentId = _json["documentId"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (documentId != null) { |
+ _json["documentId"] = documentId; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** JSON template for Analytics unsampled report resource. */ |
+class UnsampledReport { |
+ /** Account ID to which this unsampled report belongs. */ |
+ core.String accountId; |
+ |
+ /** Download details for a file stored in Google Cloud Storage. */ |
+ UnsampledReportCloudStorageDownloadDetails cloudStorageDownloadDetails; |
+ |
+ /** Time this unsampled report was created. */ |
+ core.DateTime created; |
+ |
+ /** The dimensions for the unsampled report. */ |
+ core.String dimensions; |
+ |
+ /** The type of download you need to use for the report data file. */ |
+ core.String downloadType; |
+ |
+ /** Download details for a file stored in Google Drive. */ |
+ UnsampledReportDriveDownloadDetails driveDownloadDetails; |
+ |
+ /** The end date for the unsampled report. */ |
+ core.String end_date; |
+ |
+ /** The filters for the unsampled report. */ |
+ core.String filters; |
+ |
+ /** Unsampled report ID. */ |
+ core.String id; |
+ |
+ /** Resource type for an Analytics unsampled report. */ |
+ core.String kind; |
+ |
+ /** The metrics for the unsampled report. */ |
+ core.String metrics; |
+ |
+ /** View (Profile) ID to which this unsampled report belongs. */ |
+ core.String profileId; |
+ |
+ /** The segment for the unsampled report. */ |
+ core.String segment; |
+ |
+ /** Link for this unsampled report. */ |
+ core.String selfLink; |
+ |
+ /** The start date for the unsampled report. */ |
+ core.String start_date; |
+ |
+ /** |
+ * Status of this unsampled report. Possible values are PENDING, COMPLETED, or |
+ * FAILED. |
+ */ |
+ core.String status; |
+ |
+ /** Title of the unsampled report. */ |
+ core.String title; |
+ |
+ /** Time this unsampled report was last modified. */ |
+ core.DateTime updated; |
+ |
+ /** |
+ * Web property ID to which this unsampled report belongs. The web property ID |
+ * is of the form UA-XXXXX-YY. |
+ */ |
+ core.String webPropertyId; |
+ |
+ |
+ UnsampledReport(); |
+ |
+ UnsampledReport.fromJson(core.Map _json) { |
+ if (_json.containsKey("accountId")) { |
+ accountId = _json["accountId"]; |
+ } |
+ if (_json.containsKey("cloudStorageDownloadDetails")) { |
+ cloudStorageDownloadDetails = new UnsampledReportCloudStorageDownloadDetails.fromJson(_json["cloudStorageDownloadDetails"]); |
+ } |
+ if (_json.containsKey("created")) { |
+ created = core.DateTime.parse(_json["created"]); |
+ } |
+ if (_json.containsKey("dimensions")) { |
+ dimensions = _json["dimensions"]; |
+ } |
+ if (_json.containsKey("downloadType")) { |
+ downloadType = _json["downloadType"]; |
+ } |
+ if (_json.containsKey("driveDownloadDetails")) { |
+ driveDownloadDetails = new UnsampledReportDriveDownloadDetails.fromJson(_json["driveDownloadDetails"]); |
+ } |
+ if (_json.containsKey("end-date")) { |
+ end_date = _json["end-date"]; |
+ } |
+ if (_json.containsKey("filters")) { |
+ filters = _json["filters"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("metrics")) { |
+ metrics = _json["metrics"]; |
+ } |
+ if (_json.containsKey("profileId")) { |
+ profileId = _json["profileId"]; |
+ } |
+ if (_json.containsKey("segment")) { |
+ segment = _json["segment"]; |
+ } |
+ if (_json.containsKey("selfLink")) { |
+ selfLink = _json["selfLink"]; |
+ } |
+ if (_json.containsKey("start-date")) { |
+ start_date = _json["start-date"]; |
+ } |
+ if (_json.containsKey("status")) { |
+ status = _json["status"]; |
+ } |
+ if (_json.containsKey("title")) { |
+ title = _json["title"]; |
+ } |
+ if (_json.containsKey("updated")) { |
+ updated = core.DateTime.parse(_json["updated"]); |
+ } |
+ if (_json.containsKey("webPropertyId")) { |
+ webPropertyId = _json["webPropertyId"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (accountId != null) { |
+ _json["accountId"] = accountId; |
+ } |
+ if (cloudStorageDownloadDetails != null) { |
+ _json["cloudStorageDownloadDetails"] = (cloudStorageDownloadDetails).toJson(); |
+ } |
+ if (created != null) { |
+ _json["created"] = (created).toIso8601String(); |
+ } |
+ if (dimensions != null) { |
+ _json["dimensions"] = dimensions; |
+ } |
+ if (downloadType != null) { |
+ _json["downloadType"] = downloadType; |
+ } |
+ if (driveDownloadDetails != null) { |
+ _json["driveDownloadDetails"] = (driveDownloadDetails).toJson(); |
+ } |
+ if (end_date != null) { |
+ _json["end-date"] = end_date; |
+ } |
+ if (filters != null) { |
+ _json["filters"] = filters; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (metrics != null) { |
+ _json["metrics"] = metrics; |
+ } |
+ if (profileId != null) { |
+ _json["profileId"] = profileId; |
+ } |
+ if (segment != null) { |
+ _json["segment"] = segment; |
+ } |
+ if (selfLink != null) { |
+ _json["selfLink"] = selfLink; |
+ } |
+ if (start_date != null) { |
+ _json["start-date"] = start_date; |
+ } |
+ if (status != null) { |
+ _json["status"] = status; |
+ } |
+ if (title != null) { |
+ _json["title"] = title; |
+ } |
+ if (updated != null) { |
+ _json["updated"] = (updated).toIso8601String(); |
+ } |
+ if (webPropertyId != null) { |
+ _json["webPropertyId"] = webPropertyId; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * An unsampled report collection lists Analytics unsampled reports to which the |
+ * user has access. Each view (profile) can have a set of unsampled reports. |
+ * Each resource in the unsampled report collection corresponds to a single |
+ * Analytics unsampled report. |
+ */ |
+class UnsampledReports { |
+ /** A list of unsampled reports. */ |
+ core.List<UnsampledReport> items; |
+ |
+ /** |
+ * The maximum number of resources the response can contain, regardless of the |
+ * actual number of resources returned. Its value ranges from 1 to 1000 with a |
+ * value of 1000 by default, or otherwise specified by the max-results query |
+ * parameter. |
+ */ |
+ core.int itemsPerPage; |
+ |
+ /** Collection type. */ |
+ core.String kind; |
+ |
+ /** Link to next page for this unsampled report collection. */ |
+ core.String nextLink; |
+ |
+ /** Link to previous page for this unsampled report collection. */ |
+ core.String previousLink; |
+ |
+ /** |
+ * The starting index of the resources, which is 1 by default or otherwise |
+ * specified by the start-index query parameter. |
+ */ |
+ core.int startIndex; |
+ |
+ /** |
+ * The total number of results for the query, regardless of the number of |
+ * resources in the result. |
+ */ |
+ core.int totalResults; |
+ |
+ /** Email ID of the authenticated user */ |
+ core.String username; |
+ |
+ |
+ UnsampledReports(); |
+ |
+ UnsampledReports.fromJson(core.Map _json) { |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new UnsampledReport.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("itemsPerPage")) { |
+ itemsPerPage = _json["itemsPerPage"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextLink")) { |
+ nextLink = _json["nextLink"]; |
+ } |
+ if (_json.containsKey("previousLink")) { |
+ previousLink = _json["previousLink"]; |
+ } |
+ if (_json.containsKey("startIndex")) { |
+ startIndex = _json["startIndex"]; |
+ } |
+ if (_json.containsKey("totalResults")) { |
+ totalResults = _json["totalResults"]; |
+ } |
+ if (_json.containsKey("username")) { |
+ username = _json["username"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (itemsPerPage != null) { |
+ _json["itemsPerPage"] = itemsPerPage; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextLink != null) { |
+ _json["nextLink"] = nextLink; |
+ } |
+ if (previousLink != null) { |
+ _json["previousLink"] = previousLink; |
+ } |
+ if (startIndex != null) { |
+ _json["startIndex"] = startIndex; |
+ } |
+ if (totalResults != null) { |
+ _json["totalResults"] = totalResults; |
+ } |
+ if (username != null) { |
+ _json["username"] = username; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Metadata returned for an upload operation. */ |
+class Upload { |
+ /** Account Id to which this upload belongs. */ |
+ core.String accountId; |
+ |
+ /** Custom data source Id to which this data import belongs. */ |
+ core.String customDataSourceId; |
+ |
+ /** Data import errors collection. */ |
+ core.List<core.String> errors; |
+ |
+ /** A unique ID for this upload. */ |
+ core.String id; |
+ |
+ /** Resource type for Analytics upload. */ |
+ core.String kind; |
+ |
+ /** |
+ * Upload status. Possible values: PENDING, COMPLETED, FAILED, DELETING, |
+ * DELETED. |
+ */ |
+ core.String status; |
+ |
+ |
+ Upload(); |
+ |
+ Upload.fromJson(core.Map _json) { |
+ if (_json.containsKey("accountId")) { |
+ accountId = _json["accountId"]; |
+ } |
+ if (_json.containsKey("customDataSourceId")) { |
+ customDataSourceId = _json["customDataSourceId"]; |
+ } |
+ if (_json.containsKey("errors")) { |
+ errors = _json["errors"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("status")) { |
+ status = _json["status"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (accountId != null) { |
+ _json["accountId"] = accountId; |
+ } |
+ if (customDataSourceId != null) { |
+ _json["customDataSourceId"] = customDataSourceId; |
+ } |
+ if (errors != null) { |
+ _json["errors"] = errors; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (status != null) { |
+ _json["status"] = status; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Upload collection lists Analytics uploads to which the user has access. Each |
+ * custom data source can have a set of uploads. Each resource in the upload |
+ * collection corresponds to a single Analytics data upload. |
+ */ |
+class Uploads { |
+ /** A list of uploads. */ |
+ core.List<Upload> items; |
+ |
+ /** |
+ * The maximum number of resources the response can contain, regardless of the |
+ * actual number of resources returned. Its value ranges from 1 to 1000 with a |
+ * value of 1000 by default, or otherwise specified by the max-results query |
+ * parameter. |
+ */ |
+ core.int itemsPerPage; |
+ |
+ /** Collection type. */ |
+ core.String kind; |
+ |
+ /** Link to next page for this upload collection. */ |
+ core.String nextLink; |
+ |
+ /** Link to previous page for this upload collection. */ |
+ core.String previousLink; |
+ |
+ /** |
+ * The starting index of the resources, which is 1 by default or otherwise |
+ * specified by the start-index query parameter. |
+ */ |
+ core.int startIndex; |
+ |
+ /** |
+ * The total number of results for the query, regardless of the number of |
+ * resources in the result. |
+ */ |
+ core.int totalResults; |
+ |
+ |
+ Uploads(); |
+ |
+ Uploads.fromJson(core.Map _json) { |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new Upload.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("itemsPerPage")) { |
+ itemsPerPage = _json["itemsPerPage"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextLink")) { |
+ nextLink = _json["nextLink"]; |
+ } |
+ if (_json.containsKey("previousLink")) { |
+ previousLink = _json["previousLink"]; |
+ } |
+ if (_json.containsKey("startIndex")) { |
+ startIndex = _json["startIndex"]; |
+ } |
+ if (_json.containsKey("totalResults")) { |
+ totalResults = _json["totalResults"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (itemsPerPage != null) { |
+ _json["itemsPerPage"] = itemsPerPage; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextLink != null) { |
+ _json["nextLink"] = nextLink; |
+ } |
+ if (previousLink != null) { |
+ _json["previousLink"] = previousLink; |
+ } |
+ if (startIndex != null) { |
+ _json["startIndex"] = startIndex; |
+ } |
+ if (totalResults != null) { |
+ _json["totalResults"] = totalResults; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** JSON template for a user reference. */ |
+class UserRef { |
+ /** Email ID of this user. */ |
+ core.String email; |
+ |
+ /** User ID. */ |
+ core.String id; |
+ |
+ /** Not documented yet. */ |
+ core.String kind; |
+ |
+ |
+ UserRef(); |
+ |
+ UserRef.fromJson(core.Map _json) { |
+ if (_json.containsKey("email")) { |
+ email = _json["email"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (email != null) { |
+ _json["email"] = email; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** JSON template for a web property reference. */ |
+class WebPropertyRef { |
+ /** Account ID to which this web property belongs. */ |
+ core.String accountId; |
+ |
+ /** Link for this web property. */ |
+ core.String href; |
+ |
+ /** Web property ID of the form UA-XXXXX-YY. */ |
+ core.String id; |
+ |
+ /** Internal ID for this web property. */ |
+ core.String internalWebPropertyId; |
+ |
+ /** Analytics web property reference. */ |
+ core.String kind; |
+ |
+ /** Name of this web property. */ |
+ core.String name; |
+ |
+ |
+ WebPropertyRef(); |
+ |
+ WebPropertyRef.fromJson(core.Map _json) { |
+ if (_json.containsKey("accountId")) { |
+ accountId = _json["accountId"]; |
+ } |
+ if (_json.containsKey("href")) { |
+ href = _json["href"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("internalWebPropertyId")) { |
+ internalWebPropertyId = _json["internalWebPropertyId"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (accountId != null) { |
+ _json["accountId"] = accountId; |
+ } |
+ if (href != null) { |
+ _json["href"] = href; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (internalWebPropertyId != null) { |
+ _json["internalWebPropertyId"] = internalWebPropertyId; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * JSON template for an Analytics WebPropertySummary. WebPropertySummary returns |
+ * basic information (i.e., summary) for a web property. |
+ */ |
+class WebPropertySummary { |
+ /** Web property ID of the form UA-XXXXX-YY. */ |
+ core.String id; |
+ |
+ /** Internal ID for this web property. */ |
+ core.String internalWebPropertyId; |
+ |
+ /** Resource type for Analytics WebPropertySummary. */ |
+ core.String kind; |
+ |
+ /** Level for this web property. Possible values are STANDARD or PREMIUM. */ |
+ core.String level; |
+ |
+ /** Web property name. */ |
+ core.String name; |
+ |
+ /** List of profiles under this web property. */ |
+ core.List<ProfileSummary> profiles; |
+ |
+ /** Website url for this web property. */ |
+ core.String websiteUrl; |
+ |
+ |
+ WebPropertySummary(); |
+ |
+ WebPropertySummary.fromJson(core.Map _json) { |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("internalWebPropertyId")) { |
+ internalWebPropertyId = _json["internalWebPropertyId"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("level")) { |
+ level = _json["level"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("profiles")) { |
+ profiles = _json["profiles"].map((value) => new ProfileSummary.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("websiteUrl")) { |
+ websiteUrl = _json["websiteUrl"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (internalWebPropertyId != null) { |
+ _json["internalWebPropertyId"] = internalWebPropertyId; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (level != null) { |
+ _json["level"] = level; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (profiles != null) { |
+ _json["profiles"] = profiles.map((value) => (value).toJson()).toList(); |
+ } |
+ if (websiteUrl != null) { |
+ _json["websiteUrl"] = websiteUrl; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * A web property collection lists Analytics web properties to which the user |
+ * has access. Each resource in the collection corresponds to a single Analytics |
+ * web property. |
+ */ |
+class Webproperties { |
+ /** A list of web properties. */ |
+ core.List<Webproperty> items; |
+ |
+ /** |
+ * The maximum number of resources the response can contain, regardless of the |
+ * actual number of resources returned. Its value ranges from 1 to 1000 with a |
+ * value of 1000 by default, or otherwise specified by the max-results query |
+ * parameter. |
+ */ |
+ core.int itemsPerPage; |
+ |
+ /** Collection type. */ |
+ core.String kind; |
+ |
+ /** Link to next page for this web property collection. */ |
+ core.String nextLink; |
+ |
+ /** Link to previous page for this web property collection. */ |
+ core.String previousLink; |
+ |
+ /** |
+ * The starting index of the resources, which is 1 by default or otherwise |
+ * specified by the start-index query parameter. |
+ */ |
+ core.int startIndex; |
+ |
+ /** |
+ * The total number of results for the query, regardless of the number of |
+ * results in the response. |
+ */ |
+ core.int totalResults; |
+ |
+ /** Email ID of the authenticated user */ |
+ core.String username; |
+ |
+ |
+ Webproperties(); |
+ |
+ Webproperties.fromJson(core.Map _json) { |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new Webproperty.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("itemsPerPage")) { |
+ itemsPerPage = _json["itemsPerPage"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextLink")) { |
+ nextLink = _json["nextLink"]; |
+ } |
+ if (_json.containsKey("previousLink")) { |
+ previousLink = _json["previousLink"]; |
+ } |
+ if (_json.containsKey("startIndex")) { |
+ startIndex = _json["startIndex"]; |
+ } |
+ if (_json.containsKey("totalResults")) { |
+ totalResults = _json["totalResults"]; |
+ } |
+ if (_json.containsKey("username")) { |
+ username = _json["username"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (itemsPerPage != null) { |
+ _json["itemsPerPage"] = itemsPerPage; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextLink != null) { |
+ _json["nextLink"] = nextLink; |
+ } |
+ if (previousLink != null) { |
+ _json["previousLink"] = previousLink; |
+ } |
+ if (startIndex != null) { |
+ _json["startIndex"] = startIndex; |
+ } |
+ if (totalResults != null) { |
+ _json["totalResults"] = totalResults; |
+ } |
+ if (username != null) { |
+ _json["username"] = username; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Child link for this web property. Points to the list of views (profiles) for |
+ * this web property. |
+ */ |
+class WebpropertyChildLink { |
+ /** Link to the list of views (profiles) for this web property. */ |
+ core.String href; |
+ |
+ /** Type of the parent link. Its value is "analytics#profiles". */ |
+ core.String type; |
+ |
+ |
+ WebpropertyChildLink(); |
+ |
+ WebpropertyChildLink.fromJson(core.Map _json) { |
+ if (_json.containsKey("href")) { |
+ href = _json["href"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (href != null) { |
+ _json["href"] = href; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Parent link for this web property. Points to the account to which this web |
+ * property belongs. |
+ */ |
+class WebpropertyParentLink { |
+ /** Link to the account for this web property. */ |
+ core.String href; |
+ |
+ /** Type of the parent link. Its value is "analytics#account". */ |
+ core.String type; |
+ |
+ |
+ WebpropertyParentLink(); |
+ |
+ WebpropertyParentLink.fromJson(core.Map _json) { |
+ if (_json.containsKey("href")) { |
+ href = _json["href"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (href != null) { |
+ _json["href"] = href; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Permissions the user has for this web property. */ |
+class WebpropertyPermissions { |
+ /** |
+ * All the permissions that the user has for this web property. These include |
+ * any implied permissions (e.g., EDIT implies VIEW) or inherited permissions |
+ * from the parent account. |
+ */ |
+ core.List<core.String> effective; |
+ |
+ |
+ WebpropertyPermissions(); |
+ |
+ WebpropertyPermissions.fromJson(core.Map _json) { |
+ if (_json.containsKey("effective")) { |
+ effective = _json["effective"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (effective != null) { |
+ _json["effective"] = effective; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** JSON template for an Analytics web property. */ |
+class Webproperty { |
+ /** Account ID to which this web property belongs. */ |
+ core.String accountId; |
+ |
+ /** |
+ * Child link for this web property. Points to the list of views (profiles) |
+ * for this web property. |
+ */ |
+ WebpropertyChildLink childLink; |
+ |
+ /** Time this web property was created. */ |
+ core.DateTime created; |
+ |
+ /** Default view (profile) ID. */ |
+ core.String defaultProfileId; |
+ |
+ /** Web property ID of the form UA-XXXXX-YY. */ |
+ core.String id; |
+ |
+ /** The industry vertical/category selected for this web property. */ |
+ core.String industryVertical; |
+ |
+ /** Internal ID for this web property. */ |
+ core.String internalWebPropertyId; |
+ |
+ /** Resource type for Analytics WebProperty. */ |
+ core.String kind; |
+ |
+ /** Level for this web property. Possible values are STANDARD or PREMIUM. */ |
+ core.String level; |
+ |
+ /** Name of this web property. */ |
+ core.String name; |
+ |
+ /** |
+ * Parent link for this web property. Points to the account to which this web |
+ * property belongs. |
+ */ |
+ WebpropertyParentLink parentLink; |
+ |
+ /** Permissions the user has for this web property. */ |
+ WebpropertyPermissions permissions; |
+ |
+ /** View (Profile) count for this web property. */ |
+ core.int profileCount; |
+ |
+ /** Link for this web property. */ |
+ core.String selfLink; |
+ |
+ /** Time this web property was last modified. */ |
+ core.DateTime updated; |
+ |
+ /** Website url for this web property. */ |
+ core.String websiteUrl; |
+ |
+ |
+ Webproperty(); |
+ |
+ Webproperty.fromJson(core.Map _json) { |
+ if (_json.containsKey("accountId")) { |
+ accountId = _json["accountId"]; |
+ } |
+ if (_json.containsKey("childLink")) { |
+ childLink = new WebpropertyChildLink.fromJson(_json["childLink"]); |
+ } |
+ if (_json.containsKey("created")) { |
+ created = core.DateTime.parse(_json["created"]); |
+ } |
+ if (_json.containsKey("defaultProfileId")) { |
+ defaultProfileId = _json["defaultProfileId"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("industryVertical")) { |
+ industryVertical = _json["industryVertical"]; |
+ } |
+ if (_json.containsKey("internalWebPropertyId")) { |
+ internalWebPropertyId = _json["internalWebPropertyId"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("level")) { |
+ level = _json["level"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("parentLink")) { |
+ parentLink = new WebpropertyParentLink.fromJson(_json["parentLink"]); |
+ } |
+ if (_json.containsKey("permissions")) { |
+ permissions = new WebpropertyPermissions.fromJson(_json["permissions"]); |
+ } |
+ if (_json.containsKey("profileCount")) { |
+ profileCount = _json["profileCount"]; |
+ } |
+ if (_json.containsKey("selfLink")) { |
+ selfLink = _json["selfLink"]; |
+ } |
+ if (_json.containsKey("updated")) { |
+ updated = core.DateTime.parse(_json["updated"]); |
+ } |
+ if (_json.containsKey("websiteUrl")) { |
+ websiteUrl = _json["websiteUrl"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (accountId != null) { |
+ _json["accountId"] = accountId; |
+ } |
+ if (childLink != null) { |
+ _json["childLink"] = (childLink).toJson(); |
+ } |
+ if (created != null) { |
+ _json["created"] = (created).toIso8601String(); |
+ } |
+ if (defaultProfileId != null) { |
+ _json["defaultProfileId"] = defaultProfileId; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (industryVertical != null) { |
+ _json["industryVertical"] = industryVertical; |
+ } |
+ if (internalWebPropertyId != null) { |
+ _json["internalWebPropertyId"] = internalWebPropertyId; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (level != null) { |
+ _json["level"] = level; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (parentLink != null) { |
+ _json["parentLink"] = (parentLink).toJson(); |
+ } |
+ if (permissions != null) { |
+ _json["permissions"] = (permissions).toJson(); |
+ } |
+ if (profileCount != null) { |
+ _json["profileCount"] = profileCount; |
+ } |
+ if (selfLink != null) { |
+ _json["selfLink"] = selfLink; |
+ } |
+ if (updated != null) { |
+ _json["updated"] = (updated).toIso8601String(); |
+ } |
+ if (websiteUrl != null) { |
+ _json["websiteUrl"] = websiteUrl; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |