Gspread坚持授权

时间:2017-11-30 13:07:15

标签: python json google-sheets google-oauth gspread

所以我从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上出现完全相同的问题。

1 个答案:

答案 0 :(得分:0)

好的,它有效,但我必须等待超过10分钟。在youtube上运行完全相同代码的人会立即看到输出。不过,如果你知道这个延迟的原因是什么,或者如何调试这个套接字问题,请告诉我。