lda*_*lw1 5 python gdata google-sheets
我试图在我的一个谷歌文档中运行数据查询,并且它已经工作了几个月.从昨天或前一天开始,我注意到我的脚本不再有效.Google是否更新了电子表格的API?有人找到了解决方法吗?
我的错误看起来像这样:
Traceback (most recent call last):
File "build_packer_image.py", line 311, in <module>
for index, entry in enumerate(client.GetWorksheetsFeed(doc_key).entry):
File "/build/toolchain/mac-10.5-32/lib/python2.7/site-packages/gdata/spreadsheet/service.py", line 129, in GetWorksheetsFeed
converter=gdata.spreadsheet.SpreadsheetsWorksheetsFeedFromString)
File "/build/toolchain/mac-10.5-32/lib/python2.7/site-packages/gdata/service.py", line 1074, in Get
return converter(result_body)
File "/build/toolchain/mac-10.5-32/lib/python2.7/site-packages/gdata/spreadsheet/__init__.py", line 411, in SpreadsheetsWorksheetsFeedFromString
xml_string)
File "/build/toolchain/mac-10.5-32/lib/python2.7/site-packages/atom/__init__.py", line 93, in optional_warn_function
return f(*args, **kwargs)
File "/build/toolchain/mac-10.5-32/lib/python2.7/site-packages/atom/__init__.py", line 127, in CreateClassFromXMLString
tree = ElementTree.fromstring(xml_string.replace('doctype','DOCTYPE'))
File "<string>", line 125, in XML
cElementTree.ParseError: no element found: line 1, column 0
Build step 'Execute shell' marked build as failure
Finished: FAILURE
Run Code Online (Sandbox Code Playgroud)
我在用:
我只是在我的代码中使用文档密钥而没有oauth,如果这有所不同(我将用户名和密码传递给ClientLogin方法)
小智 5
实际上这是问题的答案:
使用客户端登录(使用用户名/密码而不是oauth2)可能是导致错误的原因.该协议在3年多前被弃用,并且刚刚关闭.如果捕获HTTP响应(似乎有一些HTML内容),则可能确认它是否与关闭有关.迁移到OAuth 2会让您的应用再次运行.
在电子表格中发送xml for update后,谷歌会以登录页面回复.这意味着身份验证现在不适用于gdata
https://code.google.com/a/google.com/p/apps-api-issues/issues/detail?id=3851#c2