2

python google OAuth2 APIを使用して、コードで redirect_uri を正常に受信しています。返された URL の "code=" の後のすべてをコピーし、それを step2.exchange(code) コマンドに送信しますが、Python で次のエラーが表示されます。

ファイル "C:\Python34\lib\ssl.py"、810 行目、do_handshake self._sslobj.do_handshake() ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] 証明書の検証に失敗しました (_ssl.c:600)

私の質問は次のとおりです。

1.) コードの正しい形式は何ですか? 返された URL の「code=」の後の単にすべての文字ですか?

2.) 他に何がこのエラーを引き起こす可能性がありますか? 他の場所で提案されているように certifi 2015.04.28 をインストールしましたが、これで問題は解決しませんでした。

3.) 他に修正すべき提案はありますか?

コードは次のとおりです

from oauth2client.client import flow_from_clientsecrets

from selenium import webdriver
from selenium.webdriver.common.keys import Keys



flow = flow_from_clientsecrets('C:\Python34\client_secrets.json',
                               scope='https://www.googleapis.com/auth/drive',
                               redirect_uri='https://www.samtec.com)
auth_uri = flow.step1_get_authorize_url()



#open firefox, send auth_uri to the interwebs
driver = webdriver.Firefox()
driver.get(auth_uri)

name=driver.find_element_by_name("Email")
name.send_keys("******")
name.send_keys(Keys.RETURN)

#wait 10 seconds for the page to load before proceeding
#driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
driver.implicitly_wait(10)
passw=driver.find_element_by_name("Passwd")
passw.send_keys("*******")
passw.send_keys(Keys.RETURN)


#wait for page to load, approve access token
driver.implicitly_wait(10)
allow=driver.find_element_by_id("submit_approve_access")
allow.send_keys(Keys.RETURN)

#get the URL returned to the browser, get the returned code
returnedURL=driver.current_url
if "=" in returnedURL:
    param, code = returnedURL.split("=",1)

##remove white space
code=code.strip()

##obtain he OAuth2 object/tokens
credentials = flow.step2_exchange(code) ##error occurs on this line

Python 3.4.3 の使用

ありがとう

4

0 に答える 0