私の目的は、認証なしで Google スプレッドシートの URL から CellFeeds を取得することです。次のスプレッドシート URL (ウェブに公開) で試してみました: https://docs.google.com/spreadsheet/ccc?key=0AvNWoDP9TASIdERsbFRnNXdsN2x4MXMxUmlyY0g3VUE&usp=sharing
この URL は、変数「spreadsheetName」に格納されます。最初の試みは、URL 全体を Service.getFeed() の引数として取得することでした。
url = new URL(spreadsheetName);
WorksheetFeed feed = service.getFeed(url, WorksheetFeed.class);
しかし、その後、次の例外に遭遇しました:
com.google.gdata.util.RedirectRequiredException: Found
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
2 番目の試みは、FeedURLFactory を使用して、オリジン URLのキーで URL を構築することでした。
String key = spreadsheetName.split("key=")[1].substring(0, 44);
url = FeedURLFactory.getDefault().getCellFeedUrl(key,
worksheetName, "public", "basic");
WorksheetFeed feed = service.getFeed(url, WorksheetFeed.class);
...そして、次の例外がありました:
com.google.gdata.util.InvalidEntryException: Bad Request
Invalid query parameter value for grid-id.
私が何を間違えたのか、または認証なしでスプレッドシートの URL からデータを正常に取得した人はいますか? 事前にthx!