Oauth2 google api flow step2 exchange在Linux中需要root

时间:2013-08-06 20:36:10

标签: python oauth-2.0

我有一份使用谷歌驱动器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)

这一切都有效

0 个答案:

没有答案