Я хочу скопировать файл из одной папки в библиотеке документов Sharepoint в другую папку в библиотеке.
Я использую
Task<DriveItem> copyDriveItemTask = _graphClient.Sites.Root.Lists[_nameOfDocLib].Drive.Root.ItemWithPath(_pathToItemLocation)
.Copy(newName, parentReference).Request().PostAsync();
copyDriveItemTask.Wait();
После возврата copyDriveItemTask его результат нулевой! Попытки получить доступ к новому файлу не всегда работают. Я думаю, что копирование файла на данный момент не завершено. Если я пошагово прохожу в режиме отладки, он работает все время, давая серверу Sharepoint достаточно времени для выполнения своих действий копирования.
Согласно http-документации Graph.Api, вызов PostAsyn c должен возвращаться с ответ, содержащий ссылку для получения информации о ходе процесса копирования.
В документации c# такой результат отсутствует. PostAsyn c здесь вызывается простым await!
Согласно интерфейсу IDriveItemCopyRequest Graph.Api, PostAsyn c должен возвращать Task .
Я думаю, что c# Вызов PostAsyn c не дожидается полного копирования файла. Он возвращается немедленно, как описано для варианта http (отсутствует ссылка для получения информации о ходе выполнения). Но в настоящее время нет объекта DriveItem, который можно вернуть. Таким образом, в результате получается нулевой результат.
Правильно ли мое объяснение или нет, в варианте c# у меня нет шанса определить, завершился ли процесс копирования или нет.
Приветствуются лучшие объяснения, другая помощь или даже решение ...
Kalle