谷歌搜索控制台API v1的TypeScript类型
搜索控制台API提供对搜索控制台数据(仅限经过验证的用户)和基于URL的公共信息(任何人)的访问。 详细说明请查看 文档.
安装
安装谷歌搜索控制台API的类型:
npm install @types/gapi.client.searchconsole-v1 --save-dev
打印稿6.0 +
TypeScript 6.0更改 types 默认为 []. 中显式列出类型包 tsconfig.json:
{
"compilerOptions": {
"types": [
"gapi",
"gapi.auth2",
"gapi.client",
"gapi.client.searchconsole-v1"
]
}
}
使用
你需要在你的代码中初始化谷歌API客户端:
gapi.load('client', () => {
// now we can use gapi.client
// ...
});
然后加载api客户端包装器:
gapi.client.load(
'https://searchconsole.googleapis.com/$discovery/rest?version=v1',
() => {
// now we can use:
// gapi.client.searchconsole
// gapi.client.webmasters
},
);
// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
gapi.client.load('searchconsole', 'v1', () => {
// now we can use:
// gapi.client.searchconsole
// gapi.client.webmasters
});
在向资源发送任何请求之前,不要忘记验证您的客户端:
// declare client_id registered in Google Developers Console
var client_id = '',
scope = [
// View and manage Search Console data for your verified sites
'https://www.googleapis.com/auth/webmasters',
// View Search Console data for your verified sites
'https://www.googleapis.com/auth/webmasters.readonly',
],
immediate = true;
// ...
gapi.auth.authorize(
{client_id: client_id, scope: scope, immediate: immediate},
authResult => {
if (authResult && !authResult.error) {
/* handle successful authorization */
} else {
/* handle authorization error */
}
},
);
之后,您可以使用谷歌搜索控制台API资源:
/*
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.
*/
await gapi.client.webmasters.searchanalytics.query({siteUrl: 'siteUrl'});
/*
Deletes a sitemap from the Sitemaps report. Does not stop Google from crawling this sitemap or the URLs that were previously crawled in the deleted sitemap.
*/
await gapi.client.webmasters.sitemaps.delete({
feedpath: 'feedpath',
siteUrl: 'siteUrl',
});
/*
Retrieves information about a specific sitemap.
*/
await gapi.client.webmasters.sitemaps.get({
feedpath: 'feedpath',
siteUrl: 'siteUrl',
});
/*
Lists the [sitemaps-entries](/webmaster-tools/v3/sitemaps) submitted for this site, or included in the sitemap index file (if `sitemapIndex` is specified in the request).
*/
await gapi.client.webmasters.sitemaps.list({siteUrl: 'siteUrl'});
/*
Submits a sitemap for a site.
*/
await gapi.client.webmasters.sitemaps.submit({
feedpath: 'feedpath',
siteUrl: 'siteUrl',
});
/*
Adds a site to the set of the user's sites in Search Console.
*/
await gapi.client.webmasters.sites.add({siteUrl: 'siteUrl'});
/*
Removes a site from the set of the user's Search Console sites.
*/
await gapi.client.webmasters.sites.delete({siteUrl: 'siteUrl'});
/*
Retrieves information about specific site.
*/
await gapi.client.webmasters.sites.get({siteUrl: 'siteUrl'});
/*
Lists the user's Search Console sites.
*/
await gapi.client.webmasters.sites.list({});
有关来源信息,请参见 NPM的出处部分