2010-12-06 6 views
0

Google App Engineでは、特定のレコードとそれに関連付けられたコンテンツを取得しようとしています。App Engine getRecordがコンテンツを返さない

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"] 

問題は最後の行にある:私は、次の(関連)コード(すべての必要なのGDataがインポートされ、クライアントが認証されている)を使用します。これは、このエラーがスローされます。

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

のGDataはtext_dbモジュールをスプレッドシートや戻りラインがこれを言うために、私は、ソースコードで見て:

設計により機能がコンテンツを返さないことを意味
return Record(content=None, row_entry=row_feed.entry[0], 

?それはあまり意味がありません。間違った機能を使用していますか?達成しようとしているのは、セルの値を連続して取得することです。私のスプレッドシート(​​processedSheetが参照している)には、 "votea"、 "voteb"などの列見出しがあります。最初の行は整数です。だから、どんなアイデアですか?

+0

google-app-engineが正しいタグですか。私はここにGoogleのアプリエンジンの質問は表示されません。 – systempuntoout

+0

最初の数行(run_on_appengine)からわかるように、彼はApp Engineで自分のアプリを実行しています。 –

+0

内容は、Recordクラスの__init__メソッドで読み取る必要があります。 contentがNoneの場合、Contentプロパティを初期化するExtractContentFromEntryメソッドを呼び出します。すでに見ていたのと同じtext_dbモジュールを見てください。 –

答えて

0

スプレッドシートに空の行がないことを確認してください。 APIは最初の空行が見つかるとデータの読み込みを停止するため、スプレッドシートの最初の行が空白の場合は結果が表示されません。

関連する問題