0

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」などの列ヘッダーがあります。最初の行は整数です。それで、何かアイデアはありますか?

4

1 に答える 1

0

スプレッドシートに空の行がないことを確認してください。API は最初の空の行に遭遇するとデータの読み取りを停止するため、スプレッドシートの最初の行が空の場合、結果は得られません。

于 2011-02-11T22:40:20.220 に答える