Google Indexing API的那些坑

最近研究了一下百度、Bing站长平台主动推送API,今天发现Google也有类似功能,只不过不是站长平台提供的,而是隶属google developers谷歌开发平台。于是尝试一下……一坑过后一坑来,最终依然没有解决,权先记下。

提示
需要科学上网

报错原因

2020.6.12更新:

Google Indexing API无法使用的原因既包括中国大陆无法 在ss科学上网时 使用googleapi库,也因为您仅按谷歌官方文档在Google 新的搜索控制台 中添加权限邮箱。请转到 旧的网站站长工具 https://www.google.com/webmasters/verification/home ,点击该网站,邮箱地址添加到其中。Google坑吧?仅在新的搜索控制台中添加权限邮箱没有权限!!!!!

我最终通过境外服务器解决。

nodejs报错TypeError: Cannot read property 'JWT' of undefined可将google官方文档中var google = require("googleapis");替换为var {google} = require("googleapis");

python报错

1

在之前百度推送基础上修改的代码先后报错:

没有科学上网造成的:

1
TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

1
2
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='indexing.googleapis.com', port=443): Max retries exceeded with url: /v3/urlNotifications:publish (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x04053D30>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。'))

1
2
403
b'{\n "error": {\n "code": 403,\n "message": "SSL is required to perform this operation.",\n "status": "PERMISSION_DENIED"\n }\n}\n'

1
2
401
b'{\n "error": {\n "code": 401,\n "……"\n }\n}\n'

2

用官方库后修改的代码直接报错:

1
sock connect((self.host,self.port TimeoutError:[WinError10060由子连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败

怀疑是中国大陆不支持造成……

经验证,境外主机可正常使用此代码提交,境内ss科学上网无法解决此问题。

参考资料

(您还可以在归档页搜索文章标题)