我有一份使用谷歌驱动器API的小工作 - 在初始设置时我捕获凭据,但只有当用户在linux中以root用户身份运行时,这似乎才有效。
flow = flow_from_clientsecrets('client_secrets.json', OAUTH_SCOPE, REDIRECT_URI)
authorize_url = flow.step1_get_authorize_url()
print 'Go to the following link in your browser: \n' + authorize_url
code = raw_input('Enter verification code: ').strip()
credentials = flow.step2_exchange(code)
当我以标准用户身份运行时,我得到:
ssl.SSLError: [Errno 185090050] _ssl.c:340: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib
在root运行时工作正常,无论如何要修复它?
更新: open(“/ usr / local / lib / python2.7 / dist-packages / httplib2-0.8-py2.7.egg / httplib2 / cacerts.txt”,O_RDONLY)= -1 EACCES(权限被拒绝)
以root身份安装httplib2?这可能是问题吗?
Strace透露 - 我添加了
httpfix = httplib2.http(disable_ssl_certificate_validation=True)
并更改了
credentials = flow.step2_exchange(code,httpfix)
这一切都有效