1

我正在使用模块 gspread 来(尝试)解析我的 Google Drive 上的特定电子表格。但是,我最终想把这个项目变成一个 Web 应用程序,所以我自然不想泄露我的登录信息。但是,既然我只需要阅读电子表格,难道不应该有一种方法可以使用 gspread 来读取文件的内容而无需登录吗?我试过了:

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)

我怎样才能做到这一点?

4

2 回答 2

0

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

无论如何,正如您自己提到的,您宁愿不使用您的登录信息(电子邮件/密码)。

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

我发现链接非常有助于掌握它并使其正常工作。

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

于 2015-07-11T22:15:17.427 回答
0

您是否已将电子表格公开到网络上?有了它你可以做你想做的事,我在这里发布了代码示例在 Pandas 中加载通用的 Google 电子表格

于 2015-07-11T22:26:48.880 回答