我有一个系统,我们使用服务帐户连接到Google Drive SDK。它已经工作了大约6个月,但是从一周前开始,没有代码更改,它就再也无法从Google云端硬盘下载文件了。我们仍然能够列出文件,但现在下载到授权页面而不是下载文件。我确定我的服务帐户对该文件具有权限。
要关闭文件,我使用以下代码:
var downloader = new MediaDownloader(driveService);
var stream = new MemoryStream();
var download = await downloader.DownloadAsync(file.Url, stream);
if (download.Exception != null) throw download.Exception;
// Reset to the begining for replay
stream.Seek(0, SeekOrigin.Begin);
return stream;
我有一个类似的问题,这对我有用:
Google.Apis.Drive.v2.Data.File file = service.Files.Get(fileId).Execute();
if (!file.MimeType.Equals("application/vnd.google-apps.spreadsheet"))
{
//for files use another Url
exportUrl = file.DownloadUrl;
}
var response = service.HttpClient.GetByteArrayAsync(exportUrl).Result;
Stream downloadStream = new MemoryStream(response);