Python中如何捕获引发SSL certificate_verify_failed的URL及Google Sheets API请求域名
嘿,我帮你梳理清楚这个问题——在企业防火墙环境下用pygsheets访问Google Sheets API碰到的SSL certificate_verify_failed错误,核心原因就是防火墙拦住了API请求依赖的关键域名/地址,你需要把下面这些内容提交给IT团队解锁权限:
核心需要解锁的Google Sheets API相关域名
这些是pygsheets和Google Sheets API交互时必须访问的核心地址:
sheets.googleapis.com:Google Sheets API的核心服务入口,所有表格的读写、查询操作都通过这个域名发起accounts.google.com:OAuth2授权流程中用于账号验证、授权页面跳转的域名(如果你的pygsheets用了OAuth认证模式)oauth2.googleapis.com:处理OAuth令牌的刷新、验证请求,维持会话有效性的关键域名www.googleapis.com:部分API元数据查询、初始授权请求会用到这个域名storage.googleapis.com:当涉及到表格内附件存储、批量数据导入导出时,会调用这个存储服务域名
验证域名是否被拦截的小脚本
你可以用这个简单的Python脚本快速确认哪些域名被防火墙拦截,把结果同步给IT团队会更精准:
import requests # 待验证的核心域名列表 target_domains = [ "https://sheets.googleapis.com", "https://accounts.google.com", "https://oauth2.googleapis.com", "https://www.googleapis.com", "https://storage.googleapis.com" ] for domain in target_domains: try: # 发送简单的GET请求测试连通性 resp = requests.get(domain, timeout=10) print(f"✅ {domain} 访问正常,状态码: {resp.status_code}") except Exception as e: print(f"❌ {domain} 访问失败(大概率被防火墙拦截): {str(e)}")
额外提醒
- 确保IT团队解锁时包含HTTPS的443端口,因为所有Google API请求都走这个端口
- 如果你的pygsheets配置了企业代理,要同步确认代理服务器也允许访问这些域名
- 极少数情况下,可能需要白名单具体的API端点(比如
https://sheets.googleapis.com/v4/spreadsheets/*),不过优先白名单域名即可
内容的提问来源于stack exchange,提问作者Guilherme Henrique Mendes
相关产品推荐
相关产品推荐

