2010-11-27 7 views
1

アンドロイドアプリからgdataプロジェクトを使用しようとしています。私は新しいCSVファイルをGoogleドキュメントにアップロードしようとしていますが、私は411エラー(Content-Length)に遭遇し続けます。 私のコードのようなものになります。csvをgdataでアップロードする - 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には、私からのネットワーク呼び出しを抽象化しているので、私は私が私につながる、コンテンツの長さを自分で設定する必要はありませんと仮定し、私は単純だと考えていますlibを正しく使用していない。

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

+0

GDataについてはわかりません。ファイル/コンテンツの最後に '\ n'を追加する必要はありません。私はTextConstructクラスがここの問題であると思われます。 –

答えて

1

ファイルの内容をメタデータに設定するのではなく、HTTPマルチパート要求を使用してメタデータに送信する必要があります。 クライアントライブラリはそれをやっての世話をし、あなたが使用してコンテンツを設定することができます。

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

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

関連する問題