如何开启Google Search Console API

Tip

通过本文,你将了解:

  • 如何在Google Cloud Platform创建项目
  • 如何验证域名所有权
  • 如何启用Google Search API

1 前言

网络上很多有关教程都是转载来转载去,质量很差,我不想看。
于是我便跟着Google提供的文档一步步操作,最终成功了。
现在我将经验总结如下,希望能帮助到你。

2 Google Search API 介绍

我该使用`Google Search Console API`还是`Google Indexing API`?

Google Search Console API 和 Google Indexing API 都是关于Google Search Console的API,但是它们的功能不同。


如果你是想通过API获取网站访问信息等,那么你应该使用Google Search Console API。
如果你是想通过API提交网站给Google Search Console,那么你应该使用Google Indexing API。

但是本文讲解的:

  • 如何在Google Cloud Platform创建项目
  • 如何验证域名所有权

这两部分,对于Google Search Console API和Google Indexing API都是通用的。因为这些API都需要在Google Cloud Platform中创建项目,并且验证域名所有权。
并且在文末我也会附上激活Google Indexing API的方法。
请放心阅读。

Tip

Google Search API 全称为 Google Search Console API ,是Google提供的一套API,可以通过API的方式获取Google Search Console的数据并进行部分操作。

以下为Google Search API全部功能,整理自官方文档:

2.1 Search Analytics

查询网站的流量数据。

方法HTTP 请求说明
查询POST /sites/siteUrl/searchAnalytics/query使用您定义的过滤条件和参数查询搜索流量数据。该方法会返回您定义的行键(维度)分组的零行或多行。您必须定义一个或多个日期的日期范围。

JSON POST 示例:

POST https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.example.com%2F/searchAnalytics/query
{
"startDate": "2015-04-01",
"endDate": "2015-05-01",
"dimensions": ["country","device"]
}

2.2 站点地图

方法HTTP 请求说明
deleteDELETE /sites/siteUrl/sitemaps/feedpath从此网站中删除站点地图。
getGET /sites/siteUrl/sitemaps/feedpath检索关于特定站点地图的信息。
listGET /sites/siteUrl/sitemaps列出为此网站提交的站点地图条目,或包含在站点地图索引文件中(如果请求中指定 sitemapIndex)。
提交PUT /sites/siteUrl/sitemaps/feedpath为网站提交站点地图。

2.3 协作平台

方法HTTP 请求说明
添加PUT /sites/siteUrl将网站添加到 Search Console 中的用户网站集。
deleteDELETE /sites/siteUrl从用户的 Search Console 网站集中移除某个网站。
getGET /sites/siteUrl检索关于特定网站的信息。
listGET /sites列出用户的 Search Console 网站。

2.4 网址检查

方法HTTP 请求说明
index.inspectPOST /urlInspection/index:inspect与 Google 索引中提供的网址相关的信息。

JSON POST 示例:

POST https://searchconsole.googleapis.com/v1/urlInspection/index:inspect
{
"inspectionUrl": "https://www.example.com/mypage",
"siteUrl": "https://www.example.com/",
"languageCode": "en-US"
}

3 创建项目、配置服务号与验证域名所有权

3.1为什么要创建项目?

在Google Cloud Platform的逻辑中,你的一切操作都是在项目下进行的。
你的域名、站点、乃至API等都属于用户的资源,这些资源会在项目中进行管理。

简单来说,项目就是一个容器,Google在你发出请求后看容器里是否有请求的主体、请求方是否可以访问容器、请求方是否有权限对容器中的资源进行操作。满足上述条件后,Google才会对你的请求进行处理。

因此,想要调用Google SearchAPI,你必须创建一个项目,并在验证域名所有权后,才能通过API在项目中对资源进行操作。

3.2 创建项目

  1. 打开Google Cloud Platform,并登录你的Google账号。
  2. 点击右上角的 Select a project ,然后点击 New Project 。创建一个新的项目。

这样,你就创建了一个新的项目。

3.3 配置服务号

  1. 打开服务账号页面。
  2. 点击 add 创建服务帐号,并输入服务帐号的名称和说明。您可以使用默认服务帐号 ID,也可以选择其他唯一的帐号 ID。完成后,点击创建。
  3. 后面的 服务帐号权限(可选) 部分无需设置。点击继续。
  4. 在 向用户授予访问此服务帐号的权限 屏幕上,向下滚动到创建密钥部分。点击 add 创建密钥。
  5. 在随即显示的侧面板中,选择密钥的格式。建议使用 JSON。
  6. 点击创建。你的新公钥/私钥对随后会生成并下载到您的计算机。

这样,你就创建了一个新的服务号,并下载了私钥。在完成本教程后,你可以用这个私钥访问你需要的API。 {{< notice ” warning” >}} 请妥善保管你的私钥,你的私钥只能在创建时下载一次,如果丢失,你将无法再次下载。 {{< /notice >}}

3.4 验证域名所有权

你可以在这里验证域名所有权。

3.5 将服务账号添加为网站所有者

在这里将服务账号添加为网站所有者。

  1. 选择添加用户。
  2. 在添加新用户对话框中,输入服务帐号的电子邮件地址。(在 3.3 步骤2中创建的服务帐号邮箱,形如my-service-account@project-name.google.com.iam.gserviceaccount.com)
  3. 将权限设置为“所有者”。
  4. 点击添加。

这样,你就将服务账号添加为网站所有者了。

4 启用Google Search Console API

点击这里即可启用Google Search Console API.

此外,点击这里即可启用Google Indexing API.

这样,你就可以通过你的私钥调用Google Search Console API了。

5 结语

通过本文,你应该已经了解了如何启用Google Search Console API,以及如何调用Google Search Console API。

在一开始写这篇文章的时候,我混淆了Google Search Console API和Google Indexing API的逻辑,写到一半才意识到网站资源、token、域名所有权验证之间的逻辑关系,于是我把整篇文章重写了一遍。
可谓教学相长了。