Gmail API - 关闭 SSL 证书验证

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

我正在尝试运行此处找到的 Gmail API 示例。一切正常,直到我运行quickstart.py 示例,这给了我错误:

SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1045)

到目前为止,我已经尝试了两个命令来禁用 ssl 验证,看看是否可以解决问题,但问题仍然存在:

conda config --set ssl_verify False 

set SSL_NO_VERIFY=1

我找到了针对相同错误的一般故障排除指南以及问题的有用解决方案这里。我的问题是,如何调整快速启动示例以禁用客户端证书验证,就像 randomir 的示例一样:

requests.get('https://website.lo', verify=False)

我正在运行 Windows 7 (x64) 和 Anaconda 5.3 (Python 3.7),并且位于公司防火墙后面。

python python-3.x gmail-api
2个回答
0
投票

这并不是真正的答案,但 IT 部门和我能够确定罪魁祸首是我们公司笔记本电脑上运行的某个安全软件的补丁。该软件目前已被禁用,但他们正在与供应商 (Netskope) 合作以确定根本原因。


0
投票

我已经测试过了,它有效:

# Create custom http client without ssl ceritificate validation
authorised_http = AuthorizedHttp(
    creds, httplib2.Http(disable_ssl_certificate_validation=True)
)
# Call the Gmail API
service = build("gmail", "v1", http=authorised_http)

来源:

  1. 构建功能的 Gmail API 文档:https://googleapis.github.io/google-api-python-client/docs/epy/googleapiclient.discovery-module.html#build
  2. Gmail API python 客户端源代码:https://github.com/googleapis/google-api-python-client/blob/main/googleapiclient/_auth.py#L100
© www.soinside.com 2019 - 2024. All rights reserved.