SSLHandshakeError证书验证失败

问题描述 投票:1回答:2

我正在尝试使用gspread和python从Windows桌面写入电子表格。以下代码可在我的Mac笔记本电脑上使用,但是在PC上运行时,出现SSLHandshakeError。我确保程序可以使用必要的文件,并且尝试创建新项目时没有运气,我总是遇到相同的错误。

这里是代码:

#databaseTest.py
import sys
import os
import pyodbc
import json, gspread
from oauth2client.client import SignedJwtAssertionCredentials

json_key = json.load(open('H:\MyProject-ee653db0fe92.json'))
scope = ['https://spreadsheets.google.com/feeds', 'https://docs.google.com/feeds']
credentials = SignedJwtAssertionCredentials(json_key['client_email'], json_key['private_key'], scope)
print "Authorizing..."
try:
    gc = gspread.authorize(credentials)
    input("Done")
except:
    print "SSL error"
    input("Something went wrong")
    gspread.authorize(credentials)

这是我得到的错误的最后一部分:

File "C:\Python27\lib\site-packages\httplib2\__init__.py", line 1059, in connect
raise SSLHandshakeError(e)
httplib2.SSLHandshakeError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)
python-2.7 google-sheets ssl-certificate verify gspread
2个回答
0
投票

事实证明,从桌面连接到电子表格的问题是由它所连接的网络引起的。便携式计算机连接到另一个网络,这使其可以与电子表格进行通信,但是台式机的网络具有许多防火墙和安全措施,可防止这种情况发生。


0
投票

我遇到了同样的问题,调试了Google Lib,发现原因是我使用的是httplib2(0.9.2)的旧版本。当我更新到最新版本(0.14.0)时,它起作用了。

如果已经安装了最新版本,请确保某些库没有在其依赖项中安装httplib2的旧版本。

© www.soinside.com 2019 - 2024. All rights reserved.