ドライブからPDFストリーム(gdoc)からファイルをエクスポートしようとすると、空のInputStreamバイト配列が取得されることがあります私は確認できません!):ファイルをダウンロード/エクスポートするときに空のByteArrayを取得するGoogleドライブAPI
InputStream mediaContent = service.files().export(fileId, mimetype).executeMediaAsInputStream();
if(!(mediaContent.available()>0)) {
throw new IOException("Media content empty, bytes expected");
}
例外はスローされません。ドキュメントに指定された制限がありません(https://developers.google.com/drive/v3/web/manage-downloads)。この問題の解決策はありますか?それは既知の問題ですか?
ドライブのAPI:JavaクライアントのバージョンGoogleのOAuth 2.0の遊び場を通じV3-rev69-1.22.0
EDIT
通常リクエストは動作しますが、同様時には失敗(失敗によって私は意味HTTPコード200が返されますが、空のコンテンツが返されます)。 再開可能なメディアのダウンロードを使用しているとき、私は常に空のInputStreamのバイト配列(1メガバイトのチャンク)を取得:
Drive.Files.Export request = service.files().export(fileId, mimetype);
request.getMediaHttpDownloader().setProgressListener(new CustomProgressListener());
request.getMediaHttpDownloader().setChunkSize(Constants.CHUNK_SIZE);
request.getMediaHttpDownloader().setDirectDownloadEnabled(false);
InputStream mediaContent = request.executeMediaAsInputStream();
をしかし、それは(だけでなく、戻りコード200)任意の例外をスローしません。解決策はありますか?
ファイルが5MBを超えていますか? – noogui
こんにちは、noogui、あなたの返信いただきありがとうございます。 Googleドキュメントのドキュメントなので、Googleドライブにはサイズは指定されていません。ドライブUIでPDFとしてダウンロードすると、382 Koのファイルが取得されます。 –