2

我有一个使用 google drive 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 (权限被拒绝)

httplib2 以 root 身份安装?这可能是问题吗?

Strace 透露——我补充说

httpfix = httplib2.http(disable_ssl_certificate_validation=True)

并改变了

credentials = flow.step2_exchange(code,httpfix)

这一切都奏效了

4

0 回答 0