如何从Google云端硬盘下载文件

时间:2012-10-23 06:58:05

标签: c# google-drive-api

我目前正在尝试制作一个从Google云端硬盘下载文件的应用程序。

在Google Drive SDK文档中,我找到了一个应该返回System.IO.Stream对象的示例方法。

https://developers.google.com/drive/manage-downloads

为此,需要每个文件的下载URL。 但是,并不总是指定返回此下载URL。有谁有任何想法为什么这是?我能做些什么呢?

更新:我发现我可以使用exportURL。这几乎总是由服务返回。

Folowup问题:如何以特定用户身份运行应用? =>有时,应用会向网址发出请求,然后请求超时。当我在浏览器中尝试相同的URL时,它就像一个魅力......

谢谢!

2 个答案:

答案 0 :(得分:3)

可能会迟到但我只是使用以下代码从Google云端硬盘下载:

var stream = service.HttpClient.GetStreamAsync(downloadUrl);
        var result = stream.Result;
        using (var fileStream = System.IO.File.Create(filePath))
        {
            result.CopyTo(fileStream);
        }

答案 1 :(得分:1)

如果您尝试下载的文件是原生Google文档格式,则不会有下载链接。如果是这种情况,您必须查找exportLinks。

您将拥有多个导出链接,因此您必须选择最适合您的格式:例如docx或odt for document