API версий личных списков OneDrive не предоставляет уникальный идентификатор для текущей версии

Я получаю доступ к OneDrive в мобильном приложении с помощью msgraph iOS SDK. Я хочу позволить пользователю управлять версиями файла, и для этого я использую API версий списка. Кроме того, я кеширую уже загруженные файлы на мобильном устройстве. Я столкнулся с проблемой с OneDrive personal, которая ведет себя немного иначе, чем бизнес OneDrive в отношении версий файлов.

Кажется, что при перечислении версий файла, personal назначает 'current' в качестве идентификатора версии для текущей версии, тогда как business устанавливает фактический уникальный идентификатор. Такое поведение не позволяет мне назначать уникальный идентификатор для данных, которые я кэширую на устройстве, и поэтому я не могу знать, есть ли более новая версия на сервере, которую я должен загрузить.

Я нашел обходной путь, который я считаю не лучшим решением - я использую файл cTag поле. В документации говорится, что cTag является:

ETag для содержимого элемента. Этот eTag не изменяется, если изменяются только метаданные. Примечание. Это свойство не возвращается, если элемент является папкой. Только для чтения.

С помощью cTag в качестве уникального идентификатора для current версия позволяет мне обнаружить, что новая версия была загружена.

Причина, по которой я не доволен этим, заключается в том, что cTag доступно только для текущей версии. С другой стороны, уникальный идентификатор доступен только для не текущих версий. После загрузки новой версии и присвоения идентификатора предыдущей текущей версии у меня нет возможности узнать, что я уже скачал эту версию и отметил ее предыдущей. cTag,

Есть ли способ, которым я мог бы получить непротиворечивый уникальный идентификатор для версии файла? Например, если cTag может быть как-то сделано доступным в списке версий API? Или, в качестве альтернативы, получить уникальный идентификатор текущей версии?

Спасибо!

0 ответов

Другие вопросы по тегам