我目前正在尝试制作一个从Google云端硬盘下载文件的应用程序。
在Google Drive SDK文档中,我找到了一个应该返回System.IO.Stream对象的示例方法。
https://developers.google.com/drive/manage-downloads
为此,需要每个文件的下载URL。 但是,并不总是指定返回此下载URL。有谁有任何想法为什么这是?我能做些什么呢?
更新:我发现我可以使用exportURL。这几乎总是由服务返回。
Folowup问题:如何以特定用户身份运行应用? =>有时,应用会向网址发出请求,然后请求超时。当我在浏览器中尝试相同的URL时,它就像一个魅力......
谢谢!
答案 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