使用Xamarin.Forms,我在UWP上使用OneDrive SDK来访问OneDrive,它运行良好。我上传/下载小数据文件,我使用以下代码更改文件的LastModifiedDate:
Item itemUpdate1 = new Item();
itemUpdate1.FileSystemInfo = new Microsoft.OneDrive.Sdk.FileSystemInfo {LastModifiedDateTime = lastModifiedDateTime };
await oneDriveClient1.Drive.Items[item1.Id].Request().UpdateAsync(itemUpdate1);
在Android上,我使用Xamarin.Auth访问OneDrive,我无法弄清楚如何更新文件的LastModifiedDate。我使用以下代码登录并上传文件:
var auth = new OAuth2Authenticator(clientId: clientId, scope: storageScopes1, authorizeUrl: new System.Uri("https://login.live.com/oauth20_authorize.srf"),
redirectUrl: new System.Uri("https://login.live.com/oauth20_desktop.srf"));
System.Uri dataFileUri = new System.Uri("https://api.onedrive.com/v1.0/drive/special/approot:/" + dataFileName1 + ":/content");
var requestUpload = new OAuth2Request("PUT", dataFileUri, null, account);
我想知道OAuth2Request是否可用于更新文件的LastModifiedDate,或者是否有其他方法可以执行此操作? 谢谢你的帮助。
答案 0 :(得分:0)
简短的回答是否定的。 Xamarin.Auth只处理您的应用程序和OneDrive Rest Api之间的身份验证。
如果要在OneDrive中修改文件的任何属性,则需要像在UWP项目中一样使用OneDrive SDK for Android,或者使用Rest API直接执行这些修改,就像上传文件。
更新1
System.Uri dataFileUri = new System.Uri("https://api.onedrive.com/v1.0/drive/special/approot:/" + dataFileName1 + ":/content");
var requestUpload = new OAuth2Request("PUT", dataFileUri, null, account);
正如您在上面的代码中所做的那样,如果您可以获取OneDrive REST API的端点来修改文件的属性(例如LastModifiedDate),那么您可以使用OAuth2Request
来完成。
转到OneDrive Dev Portal并尝试从文档中获取该信息。