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

时间:2016-03-14 14:59:37

标签: c# win-universal-app 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异常。 这有什么不对?

1 个答案:

答案 0 :(得分:2)

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

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