2010-12-06 4 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를 가져올 클라이언트가 인증)를 사용합니다. 나는의 GData의 소스 코드에보고

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

이 text_db 모듈을 스프레드 시트와 리턴 라인이 말한다 : 디자인에 의해 함수가 내용을 반환하지 않는 것을 의미

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

을 그것은이 오류가 발생합니다 ? 그건별로 의미가 없습니다. 잘못된 기능을 사용하고 있습니까? 내가 성취하고자하는 것은 세포의 가치를 연속적으로 얻는 것입니다. 내 spreadsheet (processingSheet가 참조하는)에는 "votea", "voteb"등의 열 머리글이 있습니다. 첫 번째 행은 정수입니다. 그래서, 어떤 아이디어?

+0

google-app-engine이 올바른 태그입니까? 나는 여기에 구글 - 애플 리케이션 - 엔진 질문을 볼 수 없습니다. – systempuntoout

+0

처음 몇 줄 (run_on_appengine)에서 알 수 있듯이 그는 App Engine에서 자신의 앱을 실행 중입니다. –

+0

내용은 Record 클래스의 __init__ 메소드에서 읽어야합니다. 내용이 None이면 Content 속성을 초기화하는 ExtractContentFromEntry 메서드를 호출합니다. 이미보고있는 동일한 text_db 모듈을 살펴보십시오. –

답변

0

스프레드 시트에 빈 행이 없는지 확인하십시오. API는 첫 번째 빈 줄을 만날 때 데이터 읽기를 중지하므로 스프레드 시트의 첫 번째 행이 비어 있으면 결과가 표시되지 않습니다.