昨天下午我开始遇到一个问题,我的谷歌驱动器应用程序无法再更新谷歌文档。我仍然可以更新其他文件类型,如docx或rtf。这也发生在这里的同事,但两个不同的用户仍然能够使用谷歌驱动器应用程序和更新谷歌文档没有问题,我们都使用相同的构建。
我登录了一个正在运行的谷歌帐户而不是我自己的帐户,并且无法更新同事的谷歌文档。然而,与我有同样问题的同事登录到不同的谷歌帐户,他能够使用与以前相同的构建更新谷歌文档。
这里到底发生了什么事?两天前这对我们有用。
这是我请求权限的地方:
GoogleWebAuthorizationBroker.Folder = "Tasks.Auth.Store";
StoredCredential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
new[] { DriveService.Scope.Drive,
DriveService.Scope.DriveFile },
"user",
CancellationToken.None,
new SavedDataStore()).Result;
我知道进入它的fileID是这样的:
request = service.Files.Get(fileID);
myFile = request.Execute();
在使用Google文档时,我将其下载为docx文件,因此:
if (myFile.MimeType == "application/vnd.google-apps.document")
myFile.MimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
这是更新发生的地方:
try
{
//fileLoc contains the updated contents
byte[] byteArray = System.IO.File.ReadAllBytes(fileLoc);
System.IO.MemoryStream stream = new System.IO.MemoryStream(byteArray);
FilesResource.UpdateMediaUpload updateRequest = service.Files.Update(myFile, fileID, stream, myFile.MimeType);
//fileID is used to get myFile in the first place; myFile is = to myFile.Id
updateRequest.Upload();
}
catch (Exception e)
{
MessageBox.Show("An error occurred: " + e.Message);
}
此请求在不丢失任何错误的情况下发生,甚至更新这些文件的时间戳,但内容不会更新。我想失去理智,我不知道出了什么问题,我不知道从哪里开始寻找。
答案 0 :(得分:1)
暂时出现故障,现在应该再次工作了。