0

ドライブのクイックスタート: ドライブ アプリを Java で実行する例は、ファイルのアップロードに適しています。Javaを使用してGdriveからローカルシステムにファイルをダウンロードしたい. ダウンロードのために、メソッドが与えられます

private static InputStream downloadFile(Drive service, File file) {
    if (file.getDownloadUrl() != null && file.getDownloadUrl().length() > 0) {
      try {
        HttpResponse resp =
            service.getRequestFactory().buildGetRequest(new GenericUrl(file.getDownloadUrl())).execute();
        return resp.getContent();
      } catch (IOException e) {
        // An error occurred.
        e.printStackTrace();
        return null;
      }
    } else {
      // The file doesn't have any content stored on Drive.
      return null;
    }
}

上記の方法では、どうすれば入力を与えることができますか? どこから入力を与えるのですか?クイックスタートアップロードクラスのようなダウンロード用の完全なコードを誰でも提供できますか?

どんな助けでも大歓迎です。

4

2 に答える 2

0

Hanan に感謝します。retrieveAllFiles() を使用すると、すべてのドキュメントを一覧表示できます。また、以下のコードを使用して、取得したドキュメントをローカルに保存しました。ダウンロードする正しい方法ですか。

for(File f:result){         
        i++;
        System.out.println("File Name==>"+f.getTitle());
        System.out.println("File Id==>"+f.getId());
        System.out.println("File ext==>"+f.getFileExtension());
        System.out.println("File size==>"+f.getFileSize());
InputStream in = downloadFile(service,f);
        byte b[] = new byte[in.available()];
        in.read(b);
        java.io.File ff = new java.io.File("/home/test/Desktop/gdocs/"+f.getTitle());
        FileOutputStream fout = new FileOutputStream(ff);
        fout.write(b);
        fout.close();
} 

すべてのドキュメントをローカルに保存します。テキスト (.txt) ファイルはローカルで正しく開いていますが、画像ファイルまたは PDF ファイルは正しく開いていません。ファイルが壊れているなどのエラー メッセージが表示されます。画像または PDF ドキュメントにコンテンツがありません。コンテンツを取得して保存するにはどうすればよいですか。助言がありますか

于 2013-07-22T06:17:43.160 に答える