Python并下载Google表格供稿

时间:2014-07-13 17:12:18

标签: python google-spreadsheet-api

我试图在我正在编写的程序中从Google云端硬盘下载电子表格(因此可以在所有用户之间轻松更新数据),但我遇到了一些问题:

首先,也许是愚蠢的,我只想使用基本的python发行版,所以我不要求人们下载多个模块来运行它。 urllib.request模块似乎适用于基本下载,特别是urlopen()功能,当我在普通网页上测试它时(更多关于为什么我说"正常"下文)。

其次,这里的大多数问题和答案都涉及从电子表格中检索.csv。虽然这可能比尝试解析feed更好(我实际上已经让它工作了),但只使用基本地址意味着只下载了第一张表,我需要添加一个非显而易见的gid来获取其他的。我希望程序独立于电子表格,所以我只需要在线添加新数据,客户端就会自动更新;试图以编程方式找到一个gid给我带来麻烦,因为:

第三,我实际上无法正确下载供稿(界面描述here)。这似乎是获得我想要的最佳方式 - 下载overview of the entire spreadsheet,并从那里获取每张表的地址 - 但如果我尝试通过urlopen(feed).read()发送它,它只返回{{ 1}}。虽然我不确定问题是什么,但我猜测网页首次加载时网页很短暂,而b''认为它是什么应该回来了。我已经包含了我在下面使用的一些代码,并且希望有人有办法解决这个问题。谢谢!

urlopen()

(我实际上并不介意发布密钥/ gid,因为如果我完成它,我计划发布它。)

2 个答案:

答案 0 :(得分:0)

要求OAuth2或密码。

如果您退出谷歌并再次使用浏览器重试,则会失败(当我注销时失败)。看起来它需要一个谷歌帐户。

我之前确实使用过它和应用程序密码。但我现在使用OAuth2。与CSV相比,两者都相当混乱。

答案 1 :(得分:0)

这听起来像是我写过的包装library的完美用例。如果您发现它有用,请告诉我。