2

ファイルを作成し、Driver API でアクセス許可を与えることができます。

スプレッドシートの場合、「スプレッドシート API」を使用します。

私が与える許可は、「誰でも公開 - 読み取り専用」です。問題は、スプレッドシートのセルを読み取れないことです。私が読むことができる唯一の方法は、James Moore のように「Publish to the Web」を追加することです。コード例:

String urlString = "https://spreadsheets.google.com/feeds/list/0AsaDhyyXNaFSdDJ2VUxtVGVWN1Yza1loU1RPVVU3OFE/default/public/values";
URL url = new URL(urlString);
ListFeed feed = service.getFeed(url, ListFeed.class); // Then feed.getEntries()

しかし、その場合、共有ファイルを読み取る方法や、Java コードを介してファイルを「Web に公開」する方法を設定するにはどうすればよいですか?

4

2 に答える 2

0

今のところ不可能であることがわかりました。近い将来かもしれません。

スプレッドシート API: https://developers.google.com/google-apps/spreadsheets/

数週間前、Google はこれを説明するいくつかの行を追加しました。

非公開の可視性を公開の可視性に置き換えることができます。これにより、「Web に公開」されたスプレッドシートに対して承認なしでフィードを機能させることができます。一般公開は、ワークシート、リスト、およびセル フィードでサポートされています。公開可視性は、たとえば、JavaScript で Web ページのクライアント コンテキストからスプレッドシートのコンテンツにアクセスする場合に役立ちます。

スプレッドシートをウェブに公開するには、Google スプレッドシートのユーザー インターフェースからのみ行うことができます。スプレッドシートの Web への公開を開始するには、スプレッドシートのユーザー インターフェイスから [ファイル] > [Web に公開] を選択し、[公開の開始] ボタンをクリックします。

警告:「Web に公開」されていないスプレッドシートのフィードの公開可視性を使用する API リクエストは、HTTP 400 Bad Request 応答を生成し、「この URL のスプレッドシートが見つかりませんでした」というメッセージが返されます。URL が正しいことと、スプレッドシートの所有者が URL を削除していないことを確認してください。

警告:パブリック表示は、Google スプレッドシートの共有ダイアログの [表示オプション] 部分から [ウェブ上で公開] に設定されたスプレッドシートでは機能しません。「ウェブに公開」と「ウェブ上で公開」は、スプレッドシートを共有する方法が異なります。これが紛らわしいことは承知しており、API の将来のバージョンで対処する予定です。今のところ、この詳細な警告が混乱を防ぐことを願っています。

于 2013-08-31T19:17:35.093 に答える