Я получаю доступ к OneDrive в мобильном приложении, используя msgraph iOS SDK . Я хочу позволить пользователю управлять версиями файла, и для этого я использую список версий API . Кроме того, я кеширую уже загруженные файлы на мобильном устройстве. Я столкнулся с проблемой с OneDrive personal, которая несколько отличается от бизнеса OneDrive в отношении версий файлов.
Кажется, что при выводе списка версий файла personal назначает «current» в качестве идентификатора версии для текущей версии, тогда как business устанавливает фактический уникальный идентификатор. Такое поведение не позволяет мне назначать уникальный идентификатор для данных, которые я кэширую на устройстве, и поэтому я не могу знать, есть ли более новая версия на сервере, которую я должен загрузить.
Я нашел обходной путь, который я считаю не лучшим решением - я использую поле cTag
файла. В документации говорится, что cTag
:
eTag для содержимого элемента. Этот eTag не изменяется, если изменяются только метаданные. Примечание. Это свойство не возвращается, если элемент является папкой. Только для чтения.
Использование cTag
в качестве уникального идентификатора для версии current
позволяет мне обнаружить, что была загружена новая версия.
Причина, по которой я не доволен его использованием, заключается в том, что cTag
доступен только для текущей версии. С другой стороны, уникальный идентификатор доступен только для не текущих версий. После загрузки новой версии и присвоения идентификатора предыдущей текущей версии у меня нет возможности узнать, что я уже скачал эту версию и пометил ее предыдущей cTag
.
Есть ли способ получить непротиворечивый уникальный идентификатор для версии файла? Например, если cTag
можно каким-то образом сделать доступным в списке версий API? Или, в качестве альтернативы, получить уникальный идентификатор текущей версии?
Спасибо!