自 10 月以来,我一直在使用 Google Drive SDK 集成。从那以后它一直运行良好,自从我开始工作以来,我没有修改项目中的代码。今天,由于某种未知的原因,每个下载或上传文件到驱动器的请求都会返回一个错误:
远程服务器返回错误 (401) 未授权。
我目前正在处理的代码部分是:
public static Stream GetDownloadStream(string id)
{
File file = DriveService.Files.Get(id).Fetch();
if (!String.IsNullOrEmpty(file.DownloadUrl))
{
Stream stream;
var request = (HttpWebRequest) WebRequest.Create(
new Uri(file.DownloadUrl));
Auth.ApplyAuthenticationToRequest(request);
try
{
var response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
stream = response.GetResponseStream();
}
else
{
throw new Exception(response.StatusDescription);
}
return stream;
}
catch(Exception e)
{
GetCredentials();
return GetDownloadStream(id);
}
}
throw new Exception("File Cannot Be Downloaded.");
}
在 request.GetResponse() 方法调用中返回错误。DriveService 正确加载文件,并且该文件具有格式正确的 DownloadURL。DriveService 的所有内容似乎都可以在其余代码中运行,它可以正确搜索和检索文件信息,但由于某种原因,它不会下载或上传。我需要合并到我的代码中的谷歌服务器端的 DownloadURL 的格式是否发生了一些变化?