2010-11-27 1 views
1

Android 앱에서 gdata 프로젝트를 사용하려고합니다. Google CSV 파일을 Google 문서로 업로드하려고 시도하지만 411 오류 (Content-Length)가 계속 발생합니다. 의 GData lib 디렉토리 이후 gsata로 CSV 업로드 - 콘텐츠 길이 오류

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); 

나에서 네트워크 호출을 추상화한다 나는 내가 간단 해요 믿고 나에게 인도하는 콘텐츠 길이 자신을 설정할 필요가 없습니다 가정 : 내 코드가 같이 보입니다 lib를 올바르게 사용하지 마십시오.

무엇이 누락 되었습니까? 감사.

+0

GData에 대해 잘 모르겠습니다. 파일/내용의 끝에 '\ n'을 추가 할 필요가 없습니다. 맞습니까? 나는 여기 TextConstruct 클래스가 문제가 될 것이라고 생각한다. –

답변

1

파일 내용을 메타 데이터에 설정하지 말고 HTTP 멀티 파트 요청을 사용하여 메타 데이터를 보내야합니다. 클라이언트 라이브러리가 그 일을 담당하고 사용하여 콘텐츠 설정할 수 있습니다 :이 파일에서 데이터를로드하는 데 필요한

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

,하지만 당신은 메모리에서로드 할 스트림을 사용할 수 있습니다. 자세한 예제는 Java 클라이언트 라이브러리 프로젝트 페이지에서 found이 될 수 있습니다.