2011-01-20 8 views
0

ドキュメントのキーで特定のドキュメントを取得しようとしています。私はここの手順を以下のよ:https://code.google.com/apis/spreadsheets/data/3.0/reference.html#ConstructingURIsフィード取得時にJava GDataスプレッドシートAPIが失敗する

私はURLからキーを取得:https://spreadsheets.google.com/ccc?key=0Aoz...mcmc&hl=en#gid=0

URL feedUrl = new URL("https://spreadsheets.google.com/feeds/spreadsheets/private/full/0Aoz...mcmc"); 
SpreadsheetFeed feed = _service.getFeed(feedUrl, SpreadsheetFeed.class); 
_entry = feed.getEntries().get(0); 

をそれは私に次の例外を与える:

Exception in thread "main" com.google.gdata.util.ParseException: [Line 1, Column 165] 
Invalid root element, expected (namespace uri:local name) of (http://www.w3.org/2005/Atom:feed), 
    found (http://www.w3.org/2005/Atom:entry 

例外が本当になりません。まったくたくさんの意味があります。私はタグが根になることを望んでいると思うが、それは得ている。私がfeedUrlのために使用しているURLに行くと、私が望む(私が目指している文書の名前とすべての)XML文書が得られます。私がここで間違っていることを私は見ていないし、私は私を助けることができたオンラインを見つけることができない。

誰かが間違っているのを見てください。

おかげ

答えて

0

私はcom.google.gdata.wireformats.input.AtomDataParserのソースをダウンロードすることになった他の解決策を見つけることができなかったので、私はReaderオブジェクトを作成し、それが厄介なハックの仕事だけど、それが解析していたストリームに期待されるタグを注入したラッパー。

feedResult.parseAtom(inProps.getExtensionProfile(), inputReader); 

へ:私はAtomDataParserコードでこの行を変更し

if(feedResult instanceof SpreadsheetFeed) { 
    feedResult.parseAtom(inProps.getExtensionProfile(), new utils.ReaderWrapper(inputReader)); 
} else { 
    feedResult.parseAtom(inProps.getExtensionProfile(), inputReader); 
} 

あなたが他のどのURLをSpreadsheetFeedを使用していた場合、これは明らかに動作しないだろうが、それは私は何のために働きますやって

1

返品フィードタイプの場合は、フィードURLは「https://spreadsheets.google.com/feeds/spreadsheets/private/full/」

関連する問題