如何更改onedrive上文件的创建日期?

How to change created date of file on onedrive?

如何在 C# Onedrive SDK 中更改创建日期?

string[] _scopes = { "onedrive.readwrite", "onedrive.appfolder" };
IOneDriveClient _OneDriveClient = OneDriveClientExtensions.GetUniversalClient(_scopes);
await _OneDriveClient.AuthenticateAsync();

Item item = await _OneDriveClient.Drive.Special.AppRoot.Children["mydb.db"].Request().GetAsync();
Item newitem = new Item { CreatedDateTime = new DateTimeOffset(2013, 2, 15, 2, 3, 4, 0, new TimeSpan()) };
var ri = await _OneDriveClient.Drive.Items[item.Id].Request().UpdateAsync(newitem);

最后一行抛出 accessdenied 异常。 这里有什么问题?

您不能设置 createdDateTimemodifiedDateTime 属性,因为它们是只读系统字段。但是,您可以在 fileSystemInfo 方面设置值以跟踪备用时间戳。不过要小心,因为这些是同步客户端在本地显示项目时使用的时间戳,因此任意更改它们可能会导致同步文件的时间戳被调整。

Item newitem = new Item
{
  FilesystemInfo = new FileSystemInfo
  {
    CreatedDateTime = new DateTimeOffset(2013, 2, 15, 2, 3, 4, 0, new TimeSpan()),
  },
};