所以我从tutorial运行这段代码,但甚至无法通过授权过程。
import gspread
from oauth2client.service_account import ServiceAccountCredentials
scope = ['https://spreadsheets.google.com/feeds']
credentials = ServiceAccountCredentials.from_json_keyfile_name('path/to/oauth.json', scope)
gc = gspread.authorize(credentials)
table = gc.openall()
等待n分钟后,当我中断进程时,我看到它挂起
File "/usr/lib/python3.5/http/client.py", line 1252, in connect
super().connect()
File "/usr/lib/python3.5/http/client.py", line 849, in connect
(self.host,self.port), self.timeout, self.source_address)
File "/usr/lib/python3.5/socket.py", line 702, in create_connection
sock.connect(sa)
KeyboardInterrupt
执行这个方法gspread.authorize(credentials)
。
你知道问题出在哪里吗?我尝试了多个oauth json,所以我想这不是谷歌的问题。
我试着自己阅读JSON并传递args,结果相同。
我从两个不同的Google帐户创建了json文件,其中一个在公司域中,结果相同。
我在Ubuntu 16.04、PyCharm 2017.2.4、Python 3.5和gspread 0.6.2上运行代码。
编辑:完全相同的问题也发生在Jupyter Notebook上。
2条答案
按热度按时间wi3ka0sx1#
好的,它工作了,但是我真的等了10分钟,在youtube上运行完全相同代码的人马上就能看到输出,但是,如果你知道延迟的原因或者如何调试这个套接字问题,请告诉我。
jgwigjjp2#
也许我可以找到解决办法。我有一个连接到Wireguard VPN,连接失败后,API工作完美PS抱歉我的英语这么差