App Engine getRecord не возвращает содержимое - PullRequest
0 голосов
/ 06 декабря 2010

В 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'

Я посмотрел в исходном коде модуля text_db электронных таблиц GData, и в обратной строке написано:

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

Значит, функция по дизайну не возвращает содержимое? Это не имеет особого смысла. Я использую неправильную функцию. То, что я пытаюсь сделать, это получить значение ячеек подряд. Моя электронная таблица (на которую ссылается обработанная таблица) имеет заголовки столбцов, которые называются «voicea», «voiceb» и т. Д. Первая строка - целые числа. Итак, есть идеи?

1 Ответ

0 голосов
/ 12 февраля 2011

убедитесь, что в таблице нет пустых строк.API прекратит чтение данных, когда встретит первую пустую строку, поэтому, если ваша первая строка в таблице пуста, вы не получите никаких результатов.

...