我正在使用msgraph iOS SDK在移动应用程序上访问 OneDrive 。我想允许用户管理文件的版本,为此我正在使用list versions API。此外,我还在移动设备上缓存已经下载的文件。我遇到了 OneDrive 个人版的问题,它在文件版本方面与 OneDrive 商业版略有不同。
似乎在列出文件的版本时,personal 将“current”指定为当前版本的版本 id,而 business 设置了实际的唯一 id。这种行为使我无法为设备上缓存的数据分配唯一标识符,因此我不知道后端是否有我应该下载的更新版本。
我找到了一种我认为不是最佳解决方案的解决方法——我正在使用文件的cTag
字段。该文档指出 acTag
是:
项目内容的 eTag。如果仅更改元数据,则不会更改此 eTag。注意 如果项目是文件夹,则不返回此属性。只读。
将cTag
用作current
版本的唯一 id 可以让我检测到新版本已上传。
我对使用它不满意的原因是它cTag
仅适用于当前版本。另一方面,唯一 id 仅适用于非当前版本。一旦上传了较新的版本并为之前的当前版本分配了一个 id,我无法知道我已经下载了这个版本并用之前的cTag
.
有没有一种方法可以获得文件版本的一致唯一标识符?例如,如果cTag
可以以某种方式在列表版本 API 中提供?或者,或者,获取当前版本的唯一 ID?
谢谢!