Android 上の Google ドライブから Google スプレッドシート スプレッドシートをダウンロードする

StackOverflow https://stackoverflow.com/questions/2813470

質問

私は gdata-java-client を使用して表示専用のドキュメントをダウンロードする Android アプリに取り組んでいます。これまでのところ、サービスで認証し、ユーザードキュメントのリストを表示するアプリケーションがあります。ユーザーがドキュメントを選択すると、ドキュメント自体に対して別のクエリが作成されます。txt、html、rtf、doc ファイルのリクエストは正常に機能しますが、.csv または .xsl 形式のスプレッドシートをリクエストすると、予期しない結果が得られます。

HTTPResponse オブジェクトを使用して HTTPRequest の結果を保存しています。.csv または .xsl 形式のドキュメントをリクエストすると、HTTPResponse.parseAsString() メソッドによって、Google ドキュメントのホームページのように見える HTML ページ全体が生成されます。奇妙に聞こえるかもしれませんが、結果はログイン ページの実際の HTML です。HTTPResponse.getStatusMessage は 200 を返します。

ここには単純なものが欠けているようです。.csv データを含む HTTPResponse の別のプロパティはありますか?

スプレッドシートのダウンロードには正しい URI を使用していると確信しています。これは、ブラウザー経由でダウンロードするときに機能するためです。いずれにしても、URI の例を次に示します。

https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key=0AsE_6_YIr797dHBTUWlHMUFXeTV4ZzJlUGxWRnJXanc&exportFormat=csv

助けていただきありがとうございます:)

役に立ちましたか?

解決

私が知っているドキュメントリストAPIに精通して十分ではないけど、あなたはドキュメントリストAPIのバグが発生した可能性があり、それが修正に重要な問題のように私に聞こえるようにあなたの説明から、それが鳴ります。

は知識豊富な誰かがこの問題を調査することができるだろうという可能性を高めるためにドキュメントリストAPIのフォーラムで、あなたの問題を報告してください

http://www.google .COM /サポート/フォーラム/ P /アプリを-のAPI /ラベル?蓋= 5c316c702e844c99&HL = EN

他のヒント

あなたのコードを見ていませんが、間違いなく問題は、ClientLogin を使用しており、「writely」サービスを使用してDocuments List APIに対して認証されていることです。ただし、スプレッドシートをエクスポートすると、spreadsheets.google.com にアクセスするため、ClientLogin を使用して「賢明な」サービスに対して認証する必要があります。Java からの場合は、スプレッドシート Java クライアント ライブラリを使用することを意味します。これについては、次のとおりです。http://code.google.com/apis/documents/docs/3.0/developers_guide_java.html#DownloadingSpreadsheets

「」というラベルの付いたメモに注目してください。重要' が上部にあり、ここにリンクしています:http://code.google.com/apis/documents/docs/3.0/developers_guide_java.html#DownloadingSpreadsheetsClientLogin

そのリンクでは、SpreadsheetClient インスタンスの使用方法が詳しく説明されています。

幸運を :)

2017 年になり、まったく新しいやり方が登場しました。GData、Documents List API などの GData API、ClientLogin、Drive ダウンロード URL はすべて廃止されました。代わりに、Drive API、Sheets API、および Android アプリから Google テクノロジーと統合するためのよりネイティブな方法が使用されます。の Android 用 Google API クライアント ライブラリ. 。もあります Java 用 Google API クライアント ライブラリ 代わりにサーバーサイドを実行している場合。

出演したい場合は 書類スプレッドシート上で 指向の操作を行う場合は、 Google スプレッドシート API 上記のクライアント ライブラリを使用してこれを実行します。いくつかの例を見てみましょう...ここにあります Android クイックスタート コード サンプル より一般的なものと同様に Java クイックスタート コード サンプル シート API の場合。通り過ぎても問題ない Sheets API の JavaDocs リファレンス どちらか。最新の Sheets API は、古いリリースでは利用できなかった機能を提供します。つまり、開発者は、ユーザー インターフェイスを使用しているかのように、プログラムによるドキュメント指向のシートへのアクセス (固定行の作成、セルの書式設定の実行、行/列のサイズ変更、ピボット テーブルの追加、作成) を行うことができます。チャートなど)

ただし、実行するには ファイル-レベルのアクセス(OPの質問など)では、 GoogleドライブAPI. 。もあります Android 用 Google ドライブ API, 、を含む 特にドキュメントのコンテンツの取得に関するドキュメント ページ. 。このライブラリを初めて使用する場合は、こちらを参照してください Drive API Android クイックスタート サンプル アプリ 同様に 他のコードサンプル 始めましょう。ここにあります Drive API for Android クラスのリファレンス ドキュメント あまりにも。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top