App Engine getRecord不返回内容

时间:2010-12-06 03:55:40

标签: python google-app-engine google-data-api

在Google App Engine中,我正在尝试获取特定记录以及与之关联的内容。我使用以下(相关)代码(导入所有必需的GData并验证客户端):

sclient = gdata.spreadsheet.text_db.DatabaseClient(username, password)
gdata.alt.appengine.run_on_appengine(sclient)
gdata.alt.appengine.run_on_appengine(sclient._GetDocsClient())
gdata.alt.appengine.run_on_appengine(sclient._GetSpreadsheetsClient())    

ss = sclient.GetDatabases(spreadsheet_key="0AqKqcvXam_kcdFlfckZfVzRiaVpRelp2T1FsVl9rRHc")
processedSheet = ss[0].GetTables(worksheet_id=1)

targetTotals = processedSheet[0].GetRecord(row_number=1)
total1 = targetTotals.content["votea"]

问题出在最后一行。它抛出了这个错误:

AttributeError: 'NoneType' object has no attribute 'content'

我查看了GData电子表格text_db模块的源代码,返回行说明了这一点:

return Record(content=None, row_entry=row_feed.entry[0],

意味着设计中的函数不返回内容?这没有多大意义。我使用了错误的功能吗?我想要完成的是连续获取单元格的值。我的电子表格(processedSheet指的是)具有名为“votea”,“voteb”等的列标题。第一行是整数。那么,有什么想法吗?

1 个答案:

答案 0 :(得分:0)

确保电子表格中没有任何空行。 API会在遇到第一个空行时停止读取数据,因此如果电子表格中的第一行为空,则不会得到任何结果。