Проблема при чтении текстового документа Google

#gdata-api

#gdata-api

Вопрос:

Я смог получить дескриптор нужного мне текстового документа Google. Теперь я застрял в том, как прочитать содержимое. Мой код выглядит следующим образом:

             GoogleOAuthParameters oauthParameters = new GoogleOAuthParameters();  
            oauthParameters.setOAuthConsumerKey(Constants.CONSUMER_KEY);  
            oauthParameters.setOAuthConsumerSecret(Constants.CONSUMER_SECRET);  
            oauthParameters.setOAuthToken(Constants.ACCESS_TOKEN); 
            oauthParameters.setOAuthTokenSecret(Constants.ACCESS_TOKEN_SECRET);  
            DocsService client = new DocsService("sakshum-YourAppName-v1");  
            client.setOAuthCredentials(oauthParameters, new OAuthHmacSha1Signer());  
            URL feedUrl = new URL("https://docs.google.com/feeds/default/private/full/");  
            DocumentQuery dquery = new DocumentQuery(feedUrl);
            dquery.setTitleQuery("blood_donor_verification_template_dev");
            dquery.setTitleExact(true);
            dquery.setMaxResults(10);
            DocumentListFeed resultFeed = client.getFeed(dquery, DocumentListFeed.class);
            System.out.println("feed size:"   resultFeed.getEntries().size());
            String emailBody = "";
            for (DocumentListEntry entry : resultFeed.getEntries()) {  

                System.out.println(entry.getPlainTextContent()); 
                emailBody = entry.getPlainTextContent();
            }  
  

Пожалуйста, обратите внимание, что entry.getPlainTextContent () не работает и выдает исключение типа object не textContent

Ответ №1:

наконец, я решил это как:

 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   "amp;exportFormat=html");
                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) {
                        emailBody.append((char)c);
                    }
                  } finally {
                    if (inStream != null) {
                      inStream.close();
                    }
                  }                 
            }