События OneDrive Delta, пропущенные после перемещения папки - PullRequest
0 голосов
/ 02 мая 2019

В настоящее время я испытываю проблему с дельта-механизмом для OneDrive в Graph API.Я столкнулся с ситуацией, когда перемещение папки приводит к отсутствию событий при запросе конечной точки дельты.

Вот пример сценария:

--> DT_null --> Initial request -->
[]
--> DT0

1. Create initial structure:
Folder1/Folder2_copyme/file_to_copy.txt
Folder_move_to_me/

--> DT0 --> Initial request -->
`Folder1/`
`Folder2_copyme/`
`Folder_move_to_me/`
`Folder1/Folder2_copyme/file_to_copy.txt`
--> DT1

2. Copy `Folder2_copyme` to root folder
structure:
Folder1/Folder2_copyme/file_to_copy.txt
Folder2_copyme/file_to_copy.txt
Folder_move_to_me/


--> DT0 --> Request delta
`Folder1/`
`Folder2_copyme/`
`Folder_move_to_me/`
`Folder1/Folder2_copyme/file_to_copy.txt`
`Folder2_copyme/file_to_copy.txt`
--> DT2

3. Move `Folder2_copyme` from root folder to `Folder_move_to_me`
structure:
Folder1/Folder2_copyme/file_to_copy.txt
Folder_move_to_me/Folder2_copyme/file_to_copy.txt

--> DT0 --> Request delta
`Folder1/`
`Folder_move_to_me/`
`Folder1/Folder2_copyme/file_to_copy.txt`
`Folder_move_to_me/Folder2_copyme/`
?? where `Folder_move_to_me/Folder2_copyme/file_to_copy.txt` ???
--> DT3

Почему file_to_copy.txt отсутствует в журнале событийв последнем запросе?Это можно воспроизвести с помощью инструмента графического обозревателя.

1 Ответ

0 голосов
/ 02 мая 2019

К сожалению, изменение родительского элемента, даже если это изменение является переименованием, не приведет к delta возвращению информации о потомках.API delta наиболее полезен, когда клиенты поддерживают свое собственное представление о мире, включая иерархию, и объединяют изменения, сообщенные сервером, в это представление.Таким образом, когда родитель переименовывается, клиент инстинктивно знает, что это приведет к изменениям путей всех дочерних элементов, но не самих дочерних элементов.

Вот предыдущий ответ о реализации синхронизации с использованием delta, который можетбыть полезным: Правильный способ использования OneDrive API для синхронизации файлов

...