1

Androidアプリからgdataプロジェクトを使用しようとしています。新しいcsvファイルをGoogleドキュメントにアップロードしようとしていますが、411エラー(Content-Length)が発生し続けます。私のコードは次のようになります。

GoogleService ss = new SpreadsheetService("testApp");
ss.setUserCredentials("<username>", "<password>");

DocumentListEntry newEntry = null;
newEntry = new DocumentListEntry();
newEntry.setTitle(new PlainTextConstruct("my.csv"));
TextConstruct tc = TextConstruct.plainText("1,2,3,4,5,6,7,8,9,10");         
newEntry.setContent(new TextContent(tc));

DocumentListEntry res = ss.insert(new URL("https://docs.google.com/feeds/default/private/full/"), newEntry);

GData libは私からのネットワーク呼び出しを抽象化しているので、Content-Lengthを自分で設定する必要はないと思います。これにより、libを正しく使用していないと思います。

私は何が欠けていますか?ありがとう。

4

1 に答える 1

1

ファイルのコンテンツは、メタデータに設定するのではなく、HTTP マルチパート リクエストを使用してメタデータとともに送信する必要があります。クライアント ライブラリがそれを処理し、次を使用してコンテンツを設定できます。

newEntry.setFile(/* java.io.File instance */ file, /* MIME type */ "text/csv");

これにはファイルからデータをロードする必要がありますが、ストリームを使用してメモリからロードできます。より詳細な例は Java クライアント ライブラリ プロジェクト ページにあります。

于 2012-04-13T18:21:41.247 に答える