Search code examples
javagdata

issues in reading google text document with google apis


I am trying to use following code to read a Google text document. But the value returned is a stream with garbage characters instead of the real contents. How can I fix this.

for (DocumentListEntry entry : resultFeed.getEntries()) {  
    String docId = entry.getDocId();
    String docType = entry.getType();
    URL exportUrl = new URL("https://docs.google.com/feeds/download/"
        + docType
        + "s/Export?docID="
        + docId
        + "&exportFormat=doc");

    MediaContent mc = new MediaContent();
    mc.setUri(exportUrl.toString());

    MediaSource ms = client.getMedia(mc);
    InputStream inStream = null;


    try {
        inStream = ms.getInputStream();
        int c;
        while ((c = inStream.read()) != -1) {
            System.out.print((char)c);
        }
    } finally {
        if (inStream != null) {
            inStream.close();
        }
    }
}  

Solution

  • From a quick read of the documentation, it looks like you are reading the raw bytes of a Microsoft Word-encoded document.

    Try changing the &exportFormat=doc to html or txt and see if the output makes more sense.