【发布时间】:2019-06-18 14:49:42
【问题描述】:
将文件上传到我的移动应用程序的 appData 文件夹然后下载后,如果您查看 Google.Apis.Drive.v3.Data.File 属性,则所有属性都为空,除了 Id 和 Name 属性。我需要知道服务器修改了 DateTime,也许最后一个客户端修改了 DateTime,因为它可以从另一台设备上传到 Google Drive 应用程序文件夹。如何获取这些属性或在上传时设置它们,以便下次下载时可以与当前客户端文件进行比较?
我已经包含了我正在使用的上传代码,它非常适合上传。我曾尝试在代码的 fileMetadata 部分中将 ModifiedTime 设置为 DateTime.UtcNow,但随后 request.ResponseBody 返回 null。
var fileMetadata = new Google.Apis.Drive.v3.Data.File()
{
Name = filename,
Parents = new List<string>()
{
"appDataFolder"
}
};
FilesResource.CreateMediaUpload request;
using (var stream = fileContent.AsMemoryStream())
{
request = service.Files.Create(fileMetadata, stream, MimeTypeLookup.GetMimeType(filename));
request.Fields = "id";
request.Upload();
}
var file = request.ResponseBody;
Console.WriteLine("File ID: " + file.Id);
我希望看到 request.ResponseBody 返回一个 Google.Apis.Drive.v3.Data.File ,就像在没有设置任何日期的情况下上传时一样。任何人都可以帮助解决这个问题吗?我需要 DateTime,以便与当前本地文件进行比较。
史蒂夫
【问题讨论】:
-
请注意 GDrive 会谎报日期和时间。它可能不是你想象的那样。
标签: c# google-api google-drive-api google-api-dotnet-client