Hi,
However, I don't find a method of
Getting message thorugh that use
MediaHttpDownloader,in a similar way that
insert method message, has one with
MediaHttpUploader
I'm trying to get a message without service-specific generated libraries, following this example for Drive [1].
Instead of using:
DriveFiles.Get request = drive.files().get(fileId);
request.getMediaHttpDownloader().setProgressListener(new CustomProgressListener());
request.executeMediaAndDownloadTo(out);
In drive you must use:
MediaHttpDownloader downloader = new MediaHttpDownloader(transport, httpRequestInitializer);
downloader.setProgressListener(new CustomProgressListener());
downloader.download(requestUrl, out);
I get YOUR_API_KEY from Google Credential method, getAccessToken().
I try this code, but I think I have problems with OutputStream
ByteArrayOutputStream out = new ByteArrayOutputStream();
HttpTransport transportHttp = new UrlFetchTransport();
GenericUrl genericURL = new GenericUrl(request);
MediaHttpDownloader downloader = new MediaHttpDownloader(transportHttp, serviceUserGmail.getRequestFactory().getInitializer());
downloader.setDirectDownloadEnabled(false);
downloader.setChunkSize(1024 * 1024);
downloader.download(genericURL, out);
I get this error:
com.google.api.client.http.HttpResponseException: 400
Unsupported Output Format
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1054)
at com.google.api.client.googleapis.media.MediaHttpDownloader.executeCurrentRequest(MediaHttpDownloader.java:245)
at com.google.api.client.googleapis.media.MediaHttpDownloader.download(MediaHttpDownloader.java:199)
at com.google.api.client.googleapis.media.MediaHttpDownloader.download(MediaHttpDownloader.java:156)
How I must define outputStream out? (if this is the error?
Thanks.