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

C# 如何更改onedrive上文件的创建日期?,c#,win-universal-app,onedrive,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 _OneDriv

如何更改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异常。
这里有什么问题?

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

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

你不能只设置第一个item对象的CreatedDateTime并上传它,而不是创建一个完整的newItem对象吗?如果没有,那么你可能无论如何也不能。它可能会破坏API的同步机制。@ManoDestra,否。此案例引发doublicatedid异常。例如,我还尝试修改创建和上次修改的属性。试图通过FileSystemInfo更新这些字段似乎对OneDrive for business帐户没有任何影响。还有什么想法吗?