UNPKG

googleapis

Version:
550 lines (549 loc) 23.9 kB
/** * Copyright 2015 Google Inc. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { AxiosPromise } from 'axios'; import { GoogleApis } from '../..'; import { BodyResponseCallback, GlobalOptions, MethodOptions } from '../../lib/api'; /** * Search Console API * * View Google Search Console data for your verified sites. * * @example * const google = require('googleapis'); * const webmasters = google.webmasters('v3'); * * @namespace webmasters * @type {Function} * @version v3 * @variation v3 * @param {object=} options Options for Webmasters */ export declare class Webmasters { _options: GlobalOptions; google: GoogleApis; root: this; searchanalytics: Resource$Searchanalytics; sitemaps: Resource$Sitemaps; sites: Resource$Sites; urlcrawlerrorscounts: Resource$Urlcrawlerrorscounts; urlcrawlerrorssamples: Resource$Urlcrawlerrorssamples; constructor(options: GlobalOptions, google: GoogleApis); getRoot(): this; } export interface Schema$ApiDataRow { clicks: number; ctr: number; impressions: number; keys: string[]; position: number; } export interface Schema$ApiDimensionFilter { dimension: string; expression: string; operator: string; } export interface Schema$ApiDimensionFilterGroup { filters: Schema$ApiDimensionFilter[]; groupType: string; } export interface Schema$SearchAnalyticsQueryRequest { /** * [Optional; Default is &quot;auto&quot;] 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. */ aggregationType: string; /** * [Optional] Zero or more filters to apply to the dimension grouping values; * for example, &#39;query contains &quot;buy&quot;&#39; to see only data * where the query string contains the substring &quot;buy&quot; (not * case-sensitive). You can filter by a dimension without grouping by it. */ dimensionFilterGroups: Schema$ApiDimensionFilterGroup[]; /** * [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. */ dimensions: string[]; /** * [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. */ endDate: string; /** * [Optional; Default is 1000] The maximum number of rows to return. Must be a * number from 1 to 5,000 (inclusive). */ rowLimit: number; /** * [Optional; Default is &quot;web&quot;] The search type to filter for. */ searchType: string; /** * [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. */ startDate: string; /** * [Optional; Default is 0] Zero-based index of the first row in the response. * Must be a non-negative number. */ startRow: number; } /** * 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. */ export interface Schema$SearchAnalyticsQueryResponse { /** * How the results were aggregated. */ responseAggregationType: string; /** * A list of rows grouped by the key values in the order given in the query. */ rows: Schema$ApiDataRow[]; } /** * List of sitemaps. */ export interface Schema$SitemapsListResponse { /** * Contains detailed information about a specific URL submitted as a sitemap. */ sitemap: Schema$WmxSitemap[]; } /** * List of sites with access level information. */ export interface Schema$SitesListResponse { /** * Contains permission level information about a Search Console site. For more * information, see Permissions in Search Console. */ siteEntry: Schema$WmxSite[]; } /** * An entry in a URL crawl errors time series. */ export interface Schema$UrlCrawlErrorCount { /** * The error count at the given timestamp. */ count: string; /** * The date and time when the crawl attempt took place, in RFC 3339 format. */ timestamp: string; } /** * Number of errors per day for a specific error type (defined by platform and * category). */ export interface Schema$UrlCrawlErrorCountsPerType { /** * The crawl error type. */ category: string; /** * The error count entries time series. */ entries: Schema$UrlCrawlErrorCount[]; /** * The general type of Googlebot that made the request (see list of Googlebot * user-agents for the user-agents used). */ platform: string; } /** * A time series of the number of URL crawl errors per error category and * platform. */ export interface Schema$UrlCrawlErrorsCountsQueryResponse { /** * The time series of the number of URL crawl errors per error category and * platform. */ countPerTypes: Schema$UrlCrawlErrorCountsPerType[]; } /** * Contains information about specific crawl errors. */ export interface Schema$UrlCrawlErrorsSample { /** * The time the error was first detected, in RFC 3339 format. */ first_detected: string; /** * The time when the URL was last crawled, in RFC 3339 format. */ last_crawled: string; /** * The URL of an error, relative to the site. */ pageUrl: string; /** * The HTTP response code, if any. */ responseCode: number; /** * Additional details about the URL, set only when calling get(). */ urlDetails: Schema$UrlSampleDetails; } /** * List of crawl error samples. */ export interface Schema$UrlCrawlErrorsSamplesListResponse { /** * Information about the sample URL and its crawl error. */ urlCrawlErrorSample: Schema$UrlCrawlErrorsSample[]; } /** * Additional details about the URL, set only when calling get(). */ export interface Schema$UrlSampleDetails { /** * List of sitemaps pointing at this URL. */ containingSitemaps: string[]; /** * A sample set of URLs linking to this URL. */ linkedFromUrls: string[]; } /** * Contains permission level information about a Search Console site. For more * information, see Permissions in Search Console. */ export interface Schema$WmxSite { /** * The user&#39;s permission level for the site. */ permissionLevel: string; /** * The URL of the site. */ siteUrl: string; } /** * Contains detailed information about a specific URL submitted as a sitemap. */ export interface Schema$WmxSitemap { /** * The various content types in the sitemap. */ contents: Schema$WmxSitemapContent[]; /** * Number of errors in the sitemap. These are issues with the sitemap itself * that need to be fixed before it can be processed correctly. */ errors: string; /** * If true, the sitemap has not been processed. */ isPending: boolean; /** * If true, the sitemap is a collection of sitemaps. */ isSitemapsIndex: boolean; /** * Date &amp; time in which this sitemap was last downloaded. Date format is * in RFC 3339 format (yyyy-mm-dd). */ lastDownloaded: string; /** * Date &amp; time in which this sitemap was submitted. Date format is in RFC * 3339 format (yyyy-mm-dd). */ lastSubmitted: string; /** * The url of the sitemap. */ path: string; /** * The type of the sitemap. For example: rssFeed. */ type: string; /** * Number of warnings for the sitemap. These are generally non-critical issues * with URLs in the sitemaps. */ warnings: string; } /** * Information about the various content types in the sitemap. */ export interface Schema$WmxSitemapContent { /** * The number of URLs from the sitemap that were indexed (of the content * type). */ indexed: string; /** * The number of URLs in the sitemap (of the content type). */ submitted: string; /** * The specific type of content in this sitemap. For example: web. */ type: string; } export declare class Resource$Searchanalytics { root: Webmasters; constructor(root: Webmasters); getRoot(): Webmasters; /** * webmasters.searchanalytics.query * @desc 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. * @alias webmasters.searchanalytics.query * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.siteUrl The site's URL, including protocol. For example: http://www.example.com/ * @param {().SearchAnalyticsQueryRequest} params.resource Request body data * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ query(params?: any, options?: MethodOptions): AxiosPromise<Schema$SearchAnalyticsQueryResponse>; query(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$SearchAnalyticsQueryResponse>, callback?: BodyResponseCallback<Schema$SearchAnalyticsQueryResponse>): void; } export declare class Resource$Sitemaps { root: Webmasters; constructor(root: Webmasters); getRoot(): Webmasters; /** * webmasters.sitemaps.delete * @desc Deletes a sitemap from this site. * @alias webmasters.sitemaps.delete * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.feedpath The URL of the actual sitemap. For example: http://www.example.com/sitemap.xml * @param {string} params.siteUrl The site's URL, including protocol. For example: http://www.example.com/ * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ delete(params?: any, options?: MethodOptions): AxiosPromise<void>; delete(params?: any, options?: MethodOptions | BodyResponseCallback<void>, callback?: BodyResponseCallback<void>): void; /** * webmasters.sitemaps.get * @desc Retrieves information about a specific sitemap. * @alias webmasters.sitemaps.get * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.feedpath The URL of the actual sitemap. For example: http://www.example.com/sitemap.xml * @param {string} params.siteUrl The site's URL, including protocol. For example: http://www.example.com/ * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ get(params?: any, options?: MethodOptions): AxiosPromise<Schema$WmxSitemap>; get(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$WmxSitemap>, callback?: BodyResponseCallback<Schema$WmxSitemap>): void; /** * webmasters.sitemaps.list * @desc Lists the sitemaps-entries submitted for this site, or included in * the sitemap index file (if sitemapIndex is specified in the request). * @alias webmasters.sitemaps.list * @memberOf! () * * @param {object} params Parameters for request * @param {string=} params.sitemapIndex A URL of a site's sitemap index. For example: http://www.example.com/sitemapindex.xml * @param {string} params.siteUrl The site's URL, including protocol. For example: http://www.example.com/ * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ list(params?: any, options?: MethodOptions): AxiosPromise<Schema$SitemapsListResponse>; list(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$SitemapsListResponse>, callback?: BodyResponseCallback<Schema$SitemapsListResponse>): void; /** * webmasters.sitemaps.submit * @desc Submits a sitemap for a site. * @alias webmasters.sitemaps.submit * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.feedpath The URL of the sitemap to add. For example: http://www.example.com/sitemap.xml * @param {string} params.siteUrl The site's URL, including protocol. For example: http://www.example.com/ * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ submit(params?: any, options?: MethodOptions): AxiosPromise<void>; submit(params?: any, options?: MethodOptions | BodyResponseCallback<void>, callback?: BodyResponseCallback<void>): void; } export declare class Resource$Sites { root: Webmasters; constructor(root: Webmasters); getRoot(): Webmasters; /** * webmasters.sites.add * @desc Adds a site to the set of the user's sites in Search Console. * @alias webmasters.sites.add * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.siteUrl The URL of the site to add. * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ add(params?: any, options?: MethodOptions): AxiosPromise<void>; add(params?: any, options?: MethodOptions | BodyResponseCallback<void>, callback?: BodyResponseCallback<void>): void; /** * webmasters.sites.delete * @desc Removes a site from the set of the user's Search Console sites. * @alias webmasters.sites.delete * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.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. * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ delete(params?: any, options?: MethodOptions): AxiosPromise<void>; delete(params?: any, options?: MethodOptions | BodyResponseCallback<void>, callback?: BodyResponseCallback<void>): void; /** * webmasters.sites.get * @desc Retrieves information about specific site. * @alias webmasters.sites.get * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.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. * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ get(params?: any, options?: MethodOptions): AxiosPromise<Schema$WmxSite>; get(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$WmxSite>, callback?: BodyResponseCallback<Schema$WmxSite>): void; /** * webmasters.sites.list * @desc Lists the user's Search Console sites. * @alias webmasters.sites.list * @memberOf! () * * @param {object=} params Parameters for request * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ list(params?: any, options?: MethodOptions): AxiosPromise<Schema$SitesListResponse>; list(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$SitesListResponse>, callback?: BodyResponseCallback<Schema$SitesListResponse>): void; } export declare class Resource$Urlcrawlerrorscounts { root: Webmasters; constructor(root: Webmasters); getRoot(): Webmasters; /** * webmasters.urlcrawlerrorscounts.query * @desc Retrieves a time series of the number of URL crawl errors per error * category and platform. * @alias webmasters.urlcrawlerrorscounts.query * @memberOf! () * * @param {object} params Parameters for request * @param {string=} params.category The crawl error category. For example: serverError. If not specified, returns results for all categories. * @param {boolean=} params.latestCountsOnly If true, returns only the latest crawl error counts. * @param {string=} params.platform The user agent type (platform) that made the request. For example: web. If not specified, returns results for all platforms. * @param {string} params.siteUrl The site's URL, including protocol. For example: http://www.example.com/ * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ query(params?: any, options?: MethodOptions): AxiosPromise<Schema$UrlCrawlErrorsCountsQueryResponse>; query(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$UrlCrawlErrorsCountsQueryResponse>, callback?: BodyResponseCallback<Schema$UrlCrawlErrorsCountsQueryResponse>): void; } export declare class Resource$Urlcrawlerrorssamples { root: Webmasters; constructor(root: Webmasters); getRoot(): Webmasters; /** * webmasters.urlcrawlerrorssamples.get * @desc Retrieves details about crawl errors for a site's sample URL. * @alias webmasters.urlcrawlerrorssamples.get * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.category The crawl error category. For example: authPermissions * @param {string} params.platform The user agent type (platform) that made the request. For example: web * @param {string} params.siteUrl The site's URL, including protocol. For example: http://www.example.com/ * @param {string} params.url The relative path (without the site) of the sample URL. It must be one of the URLs returned by list(). For example, for the URL https://www.example.com/pagename on the site https://www.example.com/, the url value is pagename * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ get(params?: any, options?: MethodOptions): AxiosPromise<Schema$UrlCrawlErrorsSample>; get(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$UrlCrawlErrorsSample>, callback?: BodyResponseCallback<Schema$UrlCrawlErrorsSample>): void; /** * webmasters.urlcrawlerrorssamples.list * @desc Lists a site's sample URLs for the specified crawl error category and * platform. * @alias webmasters.urlcrawlerrorssamples.list * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.category The crawl error category. For example: authPermissions * @param {string} params.platform The user agent type (platform) that made the request. For example: web * @param {string} params.siteUrl The site's URL, including protocol. For example: http://www.example.com/ * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ list(params?: any, options?: MethodOptions): AxiosPromise<Schema$UrlCrawlErrorsSamplesListResponse>; list(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$UrlCrawlErrorsSamplesListResponse>, callback?: BodyResponseCallback<Schema$UrlCrawlErrorsSamplesListResponse>): void; /** * webmasters.urlcrawlerrorssamples.markAsFixed * @desc Marks the provided site's sample URL as fixed, and removes it from * the samples list. * @alias webmasters.urlcrawlerrorssamples.markAsFixed * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.category The crawl error category. For example: authPermissions * @param {string} params.platform The user agent type (platform) that made the request. For example: web * @param {string} params.siteUrl The site's URL, including protocol. For example: http://www.example.com/ * @param {string} params.url The relative path (without the site) of the sample URL. It must be one of the URLs returned by list(). For example, for the URL https://www.example.com/pagename on the site https://www.example.com/, the url value is pagename * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ markAsFixed(params?: any, options?: MethodOptions): AxiosPromise<void>; markAsFixed(params?: any, options?: MethodOptions | BodyResponseCallback<void>, callback?: BodyResponseCallback<void>): void; }