所以我从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 jsons,所以我猜这不是谷歌方面的问题。
我尝试阅读json并自行传递args并获得相同的结果。
我从两个不同的Google帐户创建了json文件,其中一个帐户位于公司域中,结果相同。
我使用Python 3.5和gspread 0.6.2在Ubuntu 16.04,PyCharm 2017.2.4上运行代码。
编辑:Jupyter Notebook上出现完全相同的问题。
答案 0 :(得分:0)
好的,它有效,但我必须等待超过10分钟。在youtube上运行完全相同代码的人会立即看到输出。不过,如果你知道这个延迟的原因是什么,或者如何调试这个套接字问题,请告诉我。