2015-07-11 52 views
1

我正在使用模块gspread来(尝试)解析我的Google云端硬盘上的特定电子表格。不过,我最终希望将这个项目变成一个Web应用程序,所以很自然我不想放弃我的登录信息。但是,由于我只需要阅读电子表格,不应该有办法使用gspread来读取文件的内容而无需登录?我已经试过:使用gspread从Google Drive Spreadsheet中读取而不登录

gc = gspread.Client(None) 
sheet = gc.open_by_key(KEY) 

但这种失败,出现错误

(<class 'xml.etree.ElementTree.ParseError'>, ParseError(ExpatError('no element found: line 1, column 0',),), None) 

我怎样才能做到这一点?

回答

0

说实话,我不知道错误是从哪里来的。粘贴更多堆栈跟踪和代码的其他部分可能会有所帮助。

无论如何,正如你所提到的你自己更喜欢不使用你的登录信息(电子邮件/密码)。

GSpread还提供使用gspread.Client(auth, http_session=None), 登录,其中auth参数是OAuth2凭证对象。凭据对象是由oauth2client library创建的凭证对象。

我发现this链接非常有帮助,以获得它的窍门并使其工作。

您不会再使用您的帐户登录,这很好,它将从Google Developers Console获取OAuth 2.0客户端凭据。然后,您的客户端应用程序向Google授权服务器请求访问令牌,从响应中提取令牌,并将令牌发送到您想要访问的Google API。

+0

这工作。谢谢! – Sawyer

+0

很高兴知道:)感谢您接受的答案。 – DJanssens

相关问题