You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3.6调用Google Calendar API遭遇证书验证失败问题求助

解决Google Calendar API证书验证失败问题

嘿,我看你在Python 3.6环境下用Google Calendar API的Service Account时,碰到了SSL证书验证失败的问题,调用get_calendar_list就触发500错误,而且已经确认Service Account是有效的对吧?结合你给出的代码、依赖版本和报错栈,我整理了几个可行的解决方向:

一、先把过期的证书依赖库升级了

你的certifi版本还是2018.4.16,这个版本的根证书库早就包含过期的证书了,这绝对是导致验证失败的核心原因。赶紧执行下面的命令更新相关依赖:

pip install --upgrade certifi requests google-auth

更新完之后重启服务,再试试调用API,大概率能解决问题。

二、手动指定CA证书路径(适合企业/自定义证书环境)

如果你的运行环境用了企业代理或者自定义CA证书,那得在请求里指定正确的证书路径。修改你CalendarService里的两个请求方法:

def get_calendar_list(self):
    # 把下面的路径换成你实际的CA证书文件路径,比如 "./company-ca.pem"
    response = self.authed_session.get(self.service_base_url, verify="/path/to/your/ca-cert.pem")
    calendar_list = response.json()
    return calendar_list

def get_calendar(self):
    response = self.authed_session.get(self.get_service_url(), verify="/path/to/your/ca-cert.pem")
    calendar = response.json()
    return calendar

三、临时跳过证书验证(仅限测试!生产绝对不能用)

如果你只是想快速确认是不是证书的问题,可以临时关掉证书验证——注意,这会有安全风险,生产环境千万别这么干:

def get_calendar_list(self):
    response = self.authed_session.get(self.service_base_url, verify=False)
    calendar_list = response.json()
    return calendar_list

要是这么改之后能成功调用API,那百分百就是证书验证的锅,赶紧回到前两个方案彻底解决。

四、检查网络代理的干扰

如果你所在的网络用了代理,代理的证书可能会搞乱SSL验证。可以先试试关掉代理再测试,要是必须用代理,就在代码里配置代理和对应的证书:

def __init__(self, calendar_id=''):
    self.credentials = get_credentials()
    self.authed_session = AuthorizedSession(self.credentials)
    # 添加代理配置
    proxies = {
        'http': 'http://your-proxy-address:port',
        'https': 'https://your-proxy-address:port',
    }
    self.authed_session.proxies = proxies
    # 指定代理的CA证书路径
    self.authed_session.verify = "/path/to/proxy-ca-cert.pem"
    self.service_base_url = 'https://www.googleapis.com/calendar/v3/users/me/calendarList'
    self.calendar_id = calendar_id

另外,再快速确认下get_credentials方法是不是正确加载了Service Account的密钥文件,虽然你说账号有效,但有时候路径错了也会有奇怪的报错,不过这个概率比较低啦。


内容的提问来源于stack exchange,提问作者techhighlands

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:32:33