Google Indexing API 推送 (避免踩坑)

https://developers.google.com/search/apis/indexing-api/v3/prereqs?hl=en_GB

官方文档

1. 在创建服务账号部分需要注意的是:

    第二步授权要把服务账号的邮箱地址加上

在这里插入图片描述
2. 验证完网站站长之后需要注意的点
a. https://search.google.com/search-console/settings 进入"设置"里面,进入"用户和权限",点击"添加用户", 将刚才服务账号生成的邮箱添加进去,并且给他授权"所有者"

python 脚本批量推送的方法

		successful=[]
		requests={url:"URL_UPDATED" for url in urls}

        JSON_KEY_FILE = 'path'
        SCOPES = ["https://www.googleapis.com/auth/indexing"]
        ENDPOINT = "https://indexing.googleapis.com/v3/urlNotifications:publish"

        # Authorize credentials
        credentials = ServiceAccountCredentials.from_json_keyfile_name(JSON_KEY_FILE, scopes=SCOPES)
        # Build service
        service = build('indexing', 'v3', credentials=credentials)

        def insert_event(request_id, response, exception):
            if exception is not None:
                print("error:",exception)
                if "RATE_LIMIT_EXCEEDED" in str(exception):
                    print("need sleep!")
            else:
                successful.append(response['urlNotificationMetadata']['url'])

        batch = service.new_batch_http_request(callback=insert_event)

        for url, api_type in requests.items():
            batch.add(service.urlNotifications().publish(
                body={"url": url, "type": api_type}))
        batch.execute()
        # 批量插入之后,相应结果会进入回调"insert_event" 失败的会print出来为什么失败
        return successful

默认给的量是一个账号一天200个推送,但是可以申请更多,不过我没有成功过。解决方案也好搞,多搞点号,10个号一天就是2000个推送了。推送重置时间24个小时,我这边 测试 大致中国时间19点左右, 也就是15点能推200个,20点又能推200个。严格点控制完整的24小时即可

坑:
<HttpError 403 when requesting https://indexing.googleapis.com/v3/urlNotifications:publish?alt=json returned “Permission denied. Failed to verify the URL ownership.”. Details: “Permission denied. Failed to verify the URL ownership.”>

主要是这个报错
报错原因

  1. 网站没有验证网站所有权
    解决办法:按照文档进行验证,验证方法很多
  2. 账号没有被加入到网站的"用户和权限"的列表里面
  3. 账号的权限有问题,得是"所有者"
  4. google的bug 导致账号实际没有加成功啥的,
    解决办法:进入老版的webmaster页面,将账号加进去 https://www.google.com/webmasters/verification/details
  5. 推送的网址的前半部分不是你的网站属性
    比如:你的网站是https://abcdefg.com/
    但是你推送的是 http://abcdefg.com 或者推的是 https://www.abcdefg.com/
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值