所以我正在运行教程中的代码,但甚至无法完成授权过程。
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,所以我想这对 Google 来说不是问题。
我尝试自己读取 json 并传递参数,得到相同的结果。
我从两个不同的 Google 帐户创建了 json 文件,其中一个位于公司域中,结果相同。
我在 Ubuntu 16.04、PyCharm 2017.2.4、Python 3.5 和 gspread 0.6.2 上运行代码。
编辑:Jupyter Notebook 上也出现完全相同的问题。
好吧,可以了,但我确实等了 10 多分钟。人们在 YouTube 上运行完全相同的代码会立即看到输出。不过,如果您知道造成此延迟的原因是什么或如何调试此套接字问题,请告诉我。
也许我能找到解决办法。 我已连接到 Wireguard VPN,连接断开后,API 工作正常 聚苯乙烯 抱歉我的英语太差了
我按照文档通过 python 访问工作表,它在 OAuth 令牌生成时挂起......
访问
private window
中的身份验证链接解决了它。
套接字挂起或从 spreadsheet.readonly 切换到完全读写 spreadsheet 导致了一些缓存 cookie 问题。