2

私は、ユーザーがGDataJavaAPIを使用してWordドキュメントをGoogleドキュメントにアップロードできるようにするWebベースのアプリケーションに取り組んでいます。

(このブログに出くわしたところ、ファイルを使用する代わりに、実際にバイト配列を使用してドキュメントをアップロードできることがわかりました)

Netbeans +JDK1.6を使用しています

私のサーブレットの関連コード:

DocsService docsService = new DocsService("care.udhc.co.in");                
try {
    docsService.setUserCredentials("sbose78@gmail.com", "*******");      

    DocumentListEntry newDocument = new DocumentListEntry();

    String s="hello bose";
    byte byteData[]=s.getBytes();

    // Load the byte array into a MediaSource
    MediaByteArraySource mediaSource = new MediaByteArraySource(byteData, MediaType.fromFileName("bose.doc").getMimeType());
    MediaContent content = new MediaContent();
    content.setMediaSource(mediaSource);
    content.setMimeType(new ContentType(mediaSource.getContentType()));
    newDocument.setContent(content);

    String gdocsFilename = new String("My Filename");
    newDocument.setTitle(new PlainTextConstruct(gdocsFilename));
    out.println("OK");
    // Push it into Google Docs!! 
    DocumentListEntry uploadedRef = docsService.insert(new URL("https://docs.google.com/feeds/default/private/full/"), newDocument);
} catch(Exception e) {
   out.println(e.toString());
} finally {            
    out.close();
}

ローカルで実行すると、次のエラーが発生します。

com.google.gdata.util.InvalidEntryException: We're sorry, a server error occurred. Please try again. GDataInvalidEntryExceptionWe're sorry, a server error occurred. Please try again.

インターネットにデプロイされたバージョン(Jelasticクラウド)を実行すると、次のようになります。

java.lang.NoClassDefFoundError: com/google/gdata/data/extensions/QuotaBytesTotal
com.google.gdata.data.docs.MetadataEntry.declareExtensions(MetadataEntry.java:86)
com.google.gdata.data.ExtensionProfile.addDeclarations(ExtensionProfile.java:71)
com.google.gdata.data.BaseFeed.declareExtensions(BaseFeed.java:235)
com.google.gdata.client.docs.DocsService.declareExtensions(DocsService.java:171)
com.google.gdata.client.docs.DocsService.<init>(DocsService.java:108)
bose.google.UploadToDocs.processRequest(UploadToDocs.java:30)
bose.google.UploadToDocs.doGet(UploadToDocs.java:79)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

回避策を教えてください。

4

1 に答える 1

0

必要な依存関係の 1 つ (おそらく gdata-core-1.0.jar) が不足しているようです。

また、このページで外部依存関係を確認してください: https://developers.google.com/gdata/articles/java_client_lib

于 2012-06-05T00:56:50.010 に答える