| // This is a generated file (see the discoveryapis_generator project). |
| |
| // ignore_for_file: camel_case_types |
| // ignore_for_file: comment_references |
| // ignore_for_file: directives_ordering |
| // ignore_for_file: file_names |
| // ignore_for_file: library_names |
| // ignore_for_file: lines_longer_than_80_chars |
| // ignore_for_file: non_constant_identifier_names |
| // ignore_for_file: prefer_expression_function_bodies |
| // ignore_for_file: prefer_final_locals |
| // ignore_for_file: prefer_interpolation_to_compose_strings |
| // ignore_for_file: unnecessary_brace_in_string_interps |
| // ignore_for_file: unnecessary_cast |
| // ignore_for_file: unnecessary_lambdas |
| // ignore_for_file: unnecessary_parenthesis |
| // ignore_for_file: unnecessary_string_interpolations |
| |
| library googleapis.webmasters.v3; |
| |
| import 'dart:core' as core; |
| import 'dart:async' as async; |
| import 'dart:convert' as convert; |
| |
| import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; |
| import 'package:http/http.dart' as http; |
| |
| export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' |
| show ApiRequestError, DetailedApiRequestError; |
| |
| const userAgent = 'dart-api-client webmasters/v3'; |
| |
| /// View Google Search Console data for your verified sites. |
| class WebmastersApi { |
| /// View and manage Search Console data for your verified sites |
| static const webmastersScope = 'https://www.googleapis.com/auth/webmasters'; |
| |
| /// View Search Console data for your verified sites |
| static const webmastersReadonlyScope = |
| 'https://www.googleapis.com/auth/webmasters.readonly'; |
| |
| final commons.ApiRequester _requester; |
| |
| SearchanalyticsResourceApi get searchanalytics => |
| SearchanalyticsResourceApi(_requester); |
| SitemapsResourceApi get sitemaps => SitemapsResourceApi(_requester); |
| SitesResourceApi get sites => SitesResourceApi(_requester); |
| |
| WebmastersApi(http.Client client, |
| {core.String rootUrl = 'https://www.googleapis.com/', |
| core.String servicePath = 'webmasters/v3/'}) |
| : _requester = |
| commons.ApiRequester(client, rootUrl, servicePath, userAgent); |
| } |
| |
| class SearchanalyticsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| SearchanalyticsResourceApi(commons.ApiRequester client) : _requester = client; |
| |
| /// Query your data with filters and parameters that you define. Returns zero |
| /// or more rows grouped by the row keys that you define. You must define a |
| /// date range of one or more days. |
| /// |
| /// When date is one of the group by values, any days without data are omitted |
| /// from the result list. If you need to know which days have data, issue a |
| /// broad date range query grouped by date for any metric, and see which day |
| /// rows are returned. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [siteUrl] - The site's URL, including protocol. For example: |
| /// http://www.example.com/ |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [SearchAnalyticsQueryResponse]. |
| /// |
| /// Completes with a [commons.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<SearchAnalyticsQueryResponse> query( |
| SearchAnalyticsQueryRequest request, |
| core.String siteUrl, { |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (request != null) { |
| _body = convert.json.encode(request.toJson()); |
| } |
| if (siteUrl == null) { |
| throw core.ArgumentError('Parameter siteUrl is required.'); |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'sites/' + |
| commons.Escaper.ecapeVariable('$siteUrl') + |
| '/searchAnalytics/query'; |
| |
| final _response = _requester.request( |
| _url, |
| 'POST', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response |
| .then((data) => SearchAnalyticsQueryResponse.fromJson(data)); |
| } |
| } |
| |
| class SitemapsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| SitemapsResourceApi(commons.ApiRequester client) : _requester = client; |
| |
| /// Deletes a sitemap from this site. |
| /// |
| /// Request parameters: |
| /// |
| /// [siteUrl] - The site's URL, including protocol. For example: |
| /// http://www.example.com/ |
| /// |
| /// [feedpath] - The URL of the actual sitemap. For example: |
| /// http://www.example.com/sitemap.xml |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [commons.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 siteUrl, |
| core.String feedpath, { |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (siteUrl == null) { |
| throw core.ArgumentError('Parameter siteUrl is required.'); |
| } |
| if (feedpath == null) { |
| throw core.ArgumentError('Parameter feedpath is required.'); |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _downloadOptions = null; |
| |
| _url = 'sites/' + |
| commons.Escaper.ecapeVariable('$siteUrl') + |
| '/sitemaps/' + |
| commons.Escaper.ecapeVariable('$feedpath'); |
| |
| final _response = _requester.request( |
| _url, |
| 'DELETE', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then((data) => null); |
| } |
| |
| /// Retrieves information about a specific sitemap. |
| /// |
| /// Request parameters: |
| /// |
| /// [siteUrl] - The site's URL, including protocol. For example: |
| /// http://www.example.com/ |
| /// |
| /// [feedpath] - The URL of the actual sitemap. For example: |
| /// http://www.example.com/sitemap.xml |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [WmxSitemap]. |
| /// |
| /// Completes with a [commons.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<WmxSitemap> get( |
| core.String siteUrl, |
| core.String feedpath, { |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (siteUrl == null) { |
| throw core.ArgumentError('Parameter siteUrl is required.'); |
| } |
| if (feedpath == null) { |
| throw core.ArgumentError('Parameter feedpath is required.'); |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'sites/' + |
| commons.Escaper.ecapeVariable('$siteUrl') + |
| '/sitemaps/' + |
| commons.Escaper.ecapeVariable('$feedpath'); |
| |
| final _response = _requester.request( |
| _url, |
| 'GET', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then((data) => WmxSitemap.fromJson(data)); |
| } |
| |
| /// Lists the sitemaps-entries submitted for this site, or included in the |
| /// sitemap index file (if sitemapIndex is specified in the request). |
| /// |
| /// Request parameters: |
| /// |
| /// [siteUrl] - The site's URL, including protocol. For example: |
| /// http://www.example.com/ |
| /// |
| /// [sitemapIndex] - A URL of a site's sitemap index. For example: |
| /// http://www.example.com/sitemapindex.xml |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [SitemapsListResponse]. |
| /// |
| /// Completes with a [commons.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<SitemapsListResponse> list( |
| core.String siteUrl, { |
| core.String sitemapIndex, |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (siteUrl == null) { |
| throw core.ArgumentError('Parameter siteUrl is required.'); |
| } |
| if (sitemapIndex != null) { |
| _queryParams['sitemapIndex'] = [sitemapIndex]; |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'sites/' + commons.Escaper.ecapeVariable('$siteUrl') + '/sitemaps'; |
| |
| final _response = _requester.request( |
| _url, |
| 'GET', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then((data) => SitemapsListResponse.fromJson(data)); |
| } |
| |
| /// Submits a sitemap for a site. |
| /// |
| /// Request parameters: |
| /// |
| /// [siteUrl] - The site's URL, including protocol. For example: |
| /// http://www.example.com/ |
| /// |
| /// [feedpath] - The URL of the sitemap to add. For example: |
| /// http://www.example.com/sitemap.xml |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [commons.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 submit( |
| core.String siteUrl, |
| core.String feedpath, { |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (siteUrl == null) { |
| throw core.ArgumentError('Parameter siteUrl is required.'); |
| } |
| if (feedpath == null) { |
| throw core.ArgumentError('Parameter feedpath is required.'); |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _downloadOptions = null; |
| |
| _url = 'sites/' + |
| commons.Escaper.ecapeVariable('$siteUrl') + |
| '/sitemaps/' + |
| commons.Escaper.ecapeVariable('$feedpath'); |
| |
| final _response = _requester.request( |
| _url, |
| 'PUT', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then((data) => null); |
| } |
| } |
| |
| class SitesResourceApi { |
| final commons.ApiRequester _requester; |
| |
| SitesResourceApi(commons.ApiRequester client) : _requester = client; |
| |
| /// Adds a site to the set of the user's sites in Search Console. |
| /// |
| /// Request parameters: |
| /// |
| /// [siteUrl] - The URL of the site to add. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [commons.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 add( |
| core.String siteUrl, { |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (siteUrl == null) { |
| throw core.ArgumentError('Parameter siteUrl is required.'); |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _downloadOptions = null; |
| |
| _url = 'sites/' + commons.Escaper.ecapeVariable('$siteUrl'); |
| |
| final _response = _requester.request( |
| _url, |
| 'PUT', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then((data) => null); |
| } |
| |
| /// Removes a site from the set of the user's Search Console sites. |
| /// |
| /// Request parameters: |
| /// |
| /// [siteUrl] - The URI of the property as defined in Search Console. |
| /// Examples: http://www.example.com/ or android-app://com.example/ Note: for |
| /// property-sets, use the URI that starts with sc-set: which is used in |
| /// Search Console URLs. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [commons.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 siteUrl, { |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (siteUrl == null) { |
| throw core.ArgumentError('Parameter siteUrl is required.'); |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _downloadOptions = null; |
| |
| _url = 'sites/' + commons.Escaper.ecapeVariable('$siteUrl'); |
| |
| final _response = _requester.request( |
| _url, |
| 'DELETE', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then((data) => null); |
| } |
| |
| /// Retrieves information about specific site. |
| /// |
| /// Request parameters: |
| /// |
| /// [siteUrl] - The URI of the property as defined in Search Console. |
| /// Examples: http://www.example.com/ or android-app://com.example/ Note: for |
| /// property-sets, use the URI that starts with sc-set: which is used in |
| /// Search Console URLs. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [WmxSite]. |
| /// |
| /// Completes with a [commons.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<WmxSite> get( |
| core.String siteUrl, { |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if (siteUrl == null) { |
| throw core.ArgumentError('Parameter siteUrl is required.'); |
| } |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'sites/' + commons.Escaper.ecapeVariable('$siteUrl'); |
| |
| final _response = _requester.request( |
| _url, |
| 'GET', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then((data) => WmxSite.fromJson(data)); |
| } |
| |
| /// Lists the user's Search Console sites. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [SitesListResponse]. |
| /// |
| /// Completes with a [commons.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<SitesListResponse> list({ |
| core.String $fields, |
| }) { |
| core.String _url; |
| final _queryParams = <core.String, core.List<core.String>>{}; |
| commons.Media _uploadMedia; |
| commons.UploadOptions _uploadOptions; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| core.String _body; |
| |
| if ($fields != null) { |
| _queryParams['fields'] = [$fields]; |
| } |
| |
| _url = 'sites'; |
| |
| final _response = _requester.request( |
| _url, |
| 'GET', |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions, |
| ); |
| return _response.then((data) => SitesListResponse.fromJson(data)); |
| } |
| } |
| |
| class ApiDataRow { |
| core.double clicks; |
| core.double ctr; |
| core.double impressions; |
| core.List<core.String> keys; |
| core.double position; |
| |
| ApiDataRow(); |
| |
| ApiDataRow.fromJson(core.Map _json) { |
| if (_json.containsKey('clicks')) { |
| clicks = _json['clicks'].toDouble(); |
| } |
| if (_json.containsKey('ctr')) { |
| ctr = _json['ctr'].toDouble(); |
| } |
| if (_json.containsKey('impressions')) { |
| impressions = _json['impressions'].toDouble(); |
| } |
| if (_json.containsKey('keys')) { |
| keys = (_json['keys'] as core.List).cast<core.String>(); |
| } |
| if (_json.containsKey('position')) { |
| position = _json['position'].toDouble(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (clicks != null) { |
| _json['clicks'] = clicks; |
| } |
| if (ctr != null) { |
| _json['ctr'] = ctr; |
| } |
| if (impressions != null) { |
| _json['impressions'] = impressions; |
| } |
| if (keys != null) { |
| _json['keys'] = keys; |
| } |
| if (position != null) { |
| _json['position'] = position; |
| } |
| return _json; |
| } |
| } |
| |
| class ApiDimensionFilter { |
| core.String dimension; |
| core.String expression; |
| core.String operator; |
| |
| ApiDimensionFilter(); |
| |
| ApiDimensionFilter.fromJson(core.Map _json) { |
| if (_json.containsKey('dimension')) { |
| dimension = _json['dimension']; |
| } |
| if (_json.containsKey('expression')) { |
| expression = _json['expression']; |
| } |
| if (_json.containsKey('operator')) { |
| operator = _json['operator']; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (dimension != null) { |
| _json['dimension'] = dimension; |
| } |
| if (expression != null) { |
| _json['expression'] = expression; |
| } |
| if (operator != null) { |
| _json['operator'] = operator; |
| } |
| return _json; |
| } |
| } |
| |
| class ApiDimensionFilterGroup { |
| core.List<ApiDimensionFilter> filters; |
| core.String groupType; |
| |
| ApiDimensionFilterGroup(); |
| |
| ApiDimensionFilterGroup.fromJson(core.Map _json) { |
| if (_json.containsKey('filters')) { |
| filters = (_json['filters'] as core.List) |
| .map<ApiDimensionFilter>( |
| (value) => ApiDimensionFilter.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey('groupType')) { |
| groupType = _json['groupType']; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (filters != null) { |
| _json['filters'] = filters.map((value) => value.toJson()).toList(); |
| } |
| if (groupType != null) { |
| _json['groupType'] = groupType; |
| } |
| return _json; |
| } |
| } |
| |
| class SearchAnalyticsQueryRequest { |
| /// [Optional; Default is "auto"] How data is aggregated. If aggregated by |
| /// property, all data for the same property is aggregated; if aggregated by |
| /// page, all data is aggregated by canonical URI. If you filter or group by |
| /// page, choose AUTO; otherwise you can aggregate either by property or by |
| /// page, depending on how you want your data calculated; see the help |
| /// documentation to learn how data is calculated differently by site versus |
| /// by page. |
| /// |
| /// Note: If you group or filter by page, you cannot aggregate by property. |
| /// |
| /// If you specify any value other than AUTO, the aggregation type in the |
| /// result will match the requested type, or if you request an invalid type, |
| /// you will get an error. The API will never change your aggregation type if |
| /// the requested type is invalid. |
| core.String aggregationType; |
| |
| /// [Optional] Zero or more filters to apply to the dimension grouping values; |
| /// for example, 'query contains "buy"' to see only data where the query |
| /// string contains the substring "buy" (not case-sensitive). You can filter |
| /// by a dimension without grouping by it. |
| core.List<ApiDimensionFilterGroup> dimensionFilterGroups; |
| |
| /// [Optional] Zero or more dimensions to group results by. Dimensions are the |
| /// group-by values in the Search Analytics page. Dimensions are combined to |
| /// create a unique row key for each row. Results are grouped in the order |
| /// that you supply these dimensions. |
| core.List<core.String> dimensions; |
| |
| /// [Required] End date of the requested date range, in YYYY-MM-DD format, in |
| /// PST (UTC - 8:00). Must be greater than or equal to the start date. This |
| /// value is included in the range. |
| core.String endDate; |
| |
| /// [Optional; Default is 1000] The maximum number of rows to return. Must be |
| /// a number from 1 to 5,000 (inclusive). |
| core.int rowLimit; |
| |
| /// [Optional; Default is "web"] The search type to filter for. |
| core.String searchType; |
| |
| /// [Required] Start date of the requested date range, in YYYY-MM-DD format, |
| /// in PST time (UTC - 8:00). Must be less than or equal to the end date. This |
| /// value is included in the range. |
| core.String startDate; |
| |
| /// [Optional; Default is 0] Zero-based index of the first row in the |
| /// response. Must be a non-negative number. |
| core.int startRow; |
| |
| SearchAnalyticsQueryRequest(); |
| |
| SearchAnalyticsQueryRequest.fromJson(core.Map _json) { |
| if (_json.containsKey('aggregationType')) { |
| aggregationType = _json['aggregationType']; |
| } |
| if (_json.containsKey('dimensionFilterGroups')) { |
| dimensionFilterGroups = (_json['dimensionFilterGroups'] as core.List) |
| .map<ApiDimensionFilterGroup>( |
| (value) => ApiDimensionFilterGroup.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey('dimensions')) { |
| dimensions = (_json['dimensions'] as core.List).cast<core.String>(); |
| } |
| if (_json.containsKey('endDate')) { |
| endDate = _json['endDate']; |
| } |
| if (_json.containsKey('rowLimit')) { |
| rowLimit = _json['rowLimit']; |
| } |
| if (_json.containsKey('searchType')) { |
| searchType = _json['searchType']; |
| } |
| if (_json.containsKey('startDate')) { |
| startDate = _json['startDate']; |
| } |
| if (_json.containsKey('startRow')) { |
| startRow = _json['startRow']; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (aggregationType != null) { |
| _json['aggregationType'] = aggregationType; |
| } |
| if (dimensionFilterGroups != null) { |
| _json['dimensionFilterGroups'] = |
| dimensionFilterGroups.map((value) => value.toJson()).toList(); |
| } |
| if (dimensions != null) { |
| _json['dimensions'] = dimensions; |
| } |
| if (endDate != null) { |
| _json['endDate'] = endDate; |
| } |
| if (rowLimit != null) { |
| _json['rowLimit'] = rowLimit; |
| } |
| if (searchType != null) { |
| _json['searchType'] = searchType; |
| } |
| if (startDate != null) { |
| _json['startDate'] = startDate; |
| } |
| if (startRow != null) { |
| _json['startRow'] = startRow; |
| } |
| return _json; |
| } |
| } |
| |
| /// A list of rows, one per result, grouped by key. Metrics in each row are |
| /// aggregated for all data grouped by that key either by page or property, as |
| /// specified by the aggregation type parameter. |
| class SearchAnalyticsQueryResponse { |
| /// How the results were aggregated. |
| core.String responseAggregationType; |
| |
| /// A list of rows grouped by the key values in the order given in the query. |
| core.List<ApiDataRow> rows; |
| |
| SearchAnalyticsQueryResponse(); |
| |
| SearchAnalyticsQueryResponse.fromJson(core.Map _json) { |
| if (_json.containsKey('responseAggregationType')) { |
| responseAggregationType = _json['responseAggregationType']; |
| } |
| if (_json.containsKey('rows')) { |
| rows = (_json['rows'] as core.List) |
| .map<ApiDataRow>((value) => ApiDataRow.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (responseAggregationType != null) { |
| _json['responseAggregationType'] = responseAggregationType; |
| } |
| if (rows != null) { |
| _json['rows'] = rows.map((value) => value.toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// List of sitemaps. |
| class SitemapsListResponse { |
| /// Contains detailed information about a specific URL submitted as a sitemap. |
| core.List<WmxSitemap> sitemap; |
| |
| SitemapsListResponse(); |
| |
| SitemapsListResponse.fromJson(core.Map _json) { |
| if (_json.containsKey('sitemap')) { |
| sitemap = (_json['sitemap'] as core.List) |
| .map<WmxSitemap>((value) => WmxSitemap.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (sitemap != null) { |
| _json['sitemap'] = sitemap.map((value) => value.toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// List of sites with access level information. |
| class SitesListResponse { |
| /// Contains permission level information about a Search Console site. For |
| /// more information, see Permissions in Search Console. |
| core.List<WmxSite> siteEntry; |
| |
| SitesListResponse(); |
| |
| SitesListResponse.fromJson(core.Map _json) { |
| if (_json.containsKey('siteEntry')) { |
| siteEntry = (_json['siteEntry'] as core.List) |
| .map<WmxSite>((value) => WmxSite.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (siteEntry != null) { |
| _json['siteEntry'] = siteEntry.map((value) => value.toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Contains permission level information about a Search Console site. For more |
| /// information, see Permissions in Search Console. |
| class WmxSite { |
| /// The user's permission level for the site. |
| core.String permissionLevel; |
| |
| /// The URL of the site. |
| core.String siteUrl; |
| |
| WmxSite(); |
| |
| WmxSite.fromJson(core.Map _json) { |
| if (_json.containsKey('permissionLevel')) { |
| permissionLevel = _json['permissionLevel']; |
| } |
| if (_json.containsKey('siteUrl')) { |
| siteUrl = _json['siteUrl']; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (permissionLevel != null) { |
| _json['permissionLevel'] = permissionLevel; |
| } |
| if (siteUrl != null) { |
| _json['siteUrl'] = siteUrl; |
| } |
| return _json; |
| } |
| } |
| |
| /// Contains detailed information about a specific URL submitted as a sitemap. |
| class WmxSitemap { |
| /// The various content types in the sitemap. |
| core.List<WmxSitemapContent> contents; |
| |
| /// Number of errors in the sitemap. These are issues with the sitemap itself |
| /// that need to be fixed before it can be processed correctly. |
| core.String errors; |
| |
| /// If true, the sitemap has not been processed. |
| core.bool isPending; |
| |
| /// If true, the sitemap is a collection of sitemaps. |
| core.bool isSitemapsIndex; |
| |
| /// Date & time in which this sitemap was last downloaded. Date format is in |
| /// RFC 3339 format (yyyy-mm-dd). |
| core.DateTime lastDownloaded; |
| |
| /// Date & time in which this sitemap was submitted. Date format is in RFC |
| /// 3339 format (yyyy-mm-dd). |
| core.DateTime lastSubmitted; |
| |
| /// The url of the sitemap. |
| core.String path; |
| |
| /// The type of the sitemap. For example: rssFeed. |
| core.String type; |
| |
| /// Number of warnings for the sitemap. These are generally non-critical |
| /// issues with URLs in the sitemaps. |
| core.String warnings; |
| |
| WmxSitemap(); |
| |
| WmxSitemap.fromJson(core.Map _json) { |
| if (_json.containsKey('contents')) { |
| contents = (_json['contents'] as core.List) |
| .map<WmxSitemapContent>((value) => WmxSitemapContent.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey('errors')) { |
| errors = _json['errors']; |
| } |
| if (_json.containsKey('isPending')) { |
| isPending = _json['isPending']; |
| } |
| if (_json.containsKey('isSitemapsIndex')) { |
| isSitemapsIndex = _json['isSitemapsIndex']; |
| } |
| if (_json.containsKey('lastDownloaded')) { |
| lastDownloaded = core.DateTime.parse(_json['lastDownloaded']); |
| } |
| if (_json.containsKey('lastSubmitted')) { |
| lastSubmitted = core.DateTime.parse(_json['lastSubmitted']); |
| } |
| if (_json.containsKey('path')) { |
| path = _json['path']; |
| } |
| if (_json.containsKey('type')) { |
| type = _json['type']; |
| } |
| if (_json.containsKey('warnings')) { |
| warnings = _json['warnings']; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (contents != null) { |
| _json['contents'] = contents.map((value) => value.toJson()).toList(); |
| } |
| if (errors != null) { |
| _json['errors'] = errors; |
| } |
| if (isPending != null) { |
| _json['isPending'] = isPending; |
| } |
| if (isSitemapsIndex != null) { |
| _json['isSitemapsIndex'] = isSitemapsIndex; |
| } |
| if (lastDownloaded != null) { |
| _json['lastDownloaded'] = (lastDownloaded).toIso8601String(); |
| } |
| if (lastSubmitted != null) { |
| _json['lastSubmitted'] = (lastSubmitted).toIso8601String(); |
| } |
| if (path != null) { |
| _json['path'] = path; |
| } |
| if (type != null) { |
| _json['type'] = type; |
| } |
| if (warnings != null) { |
| _json['warnings'] = warnings; |
| } |
| return _json; |
| } |
| } |
| |
| /// Information about the various content types in the sitemap. |
| class WmxSitemapContent { |
| /// The number of URLs from the sitemap that were indexed (of the content |
| /// type). |
| core.String indexed; |
| |
| /// The number of URLs in the sitemap (of the content type). |
| core.String submitted; |
| |
| /// The specific type of content in this sitemap. For example: web. |
| core.String type; |
| |
| WmxSitemapContent(); |
| |
| WmxSitemapContent.fromJson(core.Map _json) { |
| if (_json.containsKey('indexed')) { |
| indexed = _json['indexed']; |
| } |
| if (_json.containsKey('submitted')) { |
| submitted = _json['submitted']; |
| } |
| if (_json.containsKey('type')) { |
| type = _json['type']; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final _json = <core.String, core.Object>{}; |
| if (indexed != null) { |
| _json['indexed'] = indexed; |
| } |
| if (submitted != null) { |
| _json['submitted'] = submitted; |
| } |
| if (type != null) { |
| _json['type'] = type; |
| } |
| return _json; |
| } |
| } |