5

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

助けてくれてありがとう:)

4

3 に答える 3

5

私はあなたのコードを見ていませんが、間違いなく問題は、ClientLoginを使用していて、「writely」サービスを使用してDocumentsListAPIに対して認証されていることです。ただし、スプレッドシートをエクスポートするとspreadsheets.google.comにアクセスするため、ClientLoginを使用して「賢い」サービスに対して認証する必要があります。Javaからは、Spreadsheets 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インスタンスの使用について詳しく説明しています。

幸運を :)

于 2010-05-30T03:41:16.140 に答える
1

私はDocumentsListAPIに精通していませんが、あなたの説明から、Documents List APIのバグに遭遇した可能性があり、修正すべき重要な問題のように思えます。

ドキュメントリストAPIフォーラムで問題を報告して、知識のある人がこの問題を調査できる可能性を高めてください。

http://www.google.com/support/forum/p/apps-apis/label?lid=5c316c702e844c99&hl=en

于 2010-05-16T20:03:13.263 に答える
0

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

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

ただし、 OPの質問のようにファイルレベルのアクセスを実行するには、GoogleドライブAPIを使用します。特にドキュメントコンテンツの取得に関するドキュメントページを含む、Android用のGoogleドライブAPIもあります。このライブラリを初めて使用する場合は、DriveAPIAndroidクイックスタートサンプルアプリその他のコードサンプルをご覧ください。こちらもAndroid用のDriveAPIクラスのリファレンスドキュメントです。

于 2017-03-07T05:37:49.993 に答える