googleapis
Version:
Google APIs Client Library for Node.js
550 lines (549 loc) • 23.9 kB
TypeScript
/**
* 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 "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.
*/
aggregationType: string;
/**
* [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.
*/
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 "web"] 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'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 & time in which this sitemap was last downloaded. Date format is
* in RFC 3339 format (yyyy-mm-dd).
*/
lastDownloaded: string;
/**
* Date & 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;
}