如何从Android应用下载存储在Google云端硬盘中的文件?

时间:2014-06-19 07:24:40

标签: android google-drive-api

我正在编写一个Android应用程序,需要在应用程序启动时从网上下载文件。

这是用于下载文件的方法。

private InputStream downloadUrl(String urlString) throws IOException { URL url = new URL(urlString); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setReadTimeout(10000); conn.setConnectTimeout(15000); conn.setRequestMethod("GET"); conn.setDoInput(true); conn.connect(); return conn.getInputStream(); }

我尝试了以下方面但没有取得多大成功。

  • 在Google云端硬盘上共享文件(网络上公开),并使用给定的"共享网址"下载 - 给出错误 - 拒绝连接

  • 在网络上发布文件(通过Google云端硬盘)并使用指定的"发布网址"下载 - 出现此错误 - 无法解析主机docs.google.com

是否有可能将Google驱动器用于此目的?

先谢谢。

1 个答案:

答案 0 :(得分:0)

您希望使用DriveApi.getFileDriveFile.openContents来检索Google云端硬盘中的文件。据我所知,你不能直接通过网址下载文件。

我正在使用这样的代码:

    DriveFile file = Drive.DriveApi.getFile(client, driveId);
    DriveApi.ContentsResult contentsResult = file.openContents(client, DriveFile.MODE_READ_ONLY, null).await();
    if (!contentsResult.getStatus().isSuccess()) {
        error = new Error("failed in retrieving the file content for " + driveId);
        return null;
    }

    return getInputStream();