У меня есть рабочий процесс, в котором я загружаю файл Office в OneDrive, открываю его в редакторе Office Online, затем после закрытия редактора файл снова загружается.(Это образовательный сценарий для студентов, работающих на планшете, которые должны «сдать» свои документы.)
Мой вопрос: как я могу узнать, что онлайн-редактор закрыт, и / иличто все обновления доступны в OneDrive?
Я пробовал API Sharepoint, MS Graph API, дельты корневых папок, Webhooks: все они рассказывают мне об изменениях файлов и TimeLastModified.
К сожалению,если вы откроете большой документ Office в OneDrive в редакторе Office Online, внесите изменения, а затем закройте редактор, тогда может пройти до минуты до обновления OneDrive.Обычно первое обновление происходит в течение 6 секунд, но иногда происходит второе обновление (похоже, это связано с таймером «автосохранения» 30-х годов в онлайн-редакторах).
У меня такое ощущение, что Sharepoint «знает» больше, чем говорит.Онлайн-редакторы используют WOPI, и WOPI предположительно вызывает блокировку / разблокировку при открытии и закрытии редактора.Но как получить доступ к этой информации ..
Кто-нибудь пробовал это раньше: загрузите ваш файл после редактирования онлайн?
Упоминание Райана Грегга в этом посте из-за его приглашения задавать вопросы в сеансе Ignite по API OneDrive; -)
Большое спасибо за любую помощь в этом,
Каспер
edit
Как предложил Далибор, я попробовал изменить графикуведомления (я думаю, что их раньше называли webhooks) и опрос для TimeLastModified.Оба работают, но моя главная проблема в том, что я не могу видеть, является ли уведомление «файл изменен» последним, или действие «закрыть мой онлайн-редактор» приведет к большему количеству сохранений.
За это время, Я попробовал свойство LockedByUser в файле Sharepoint (https://msdn.microsoft.com/en-us/library/office/jj247073.aspx). Это свойство немного трудно читать (пока недоступно в MSGraph, и API Sharepoint, кажется, требует прямого входа пользователя / пароля). Но оно сигнализируетесли онлайн-редактор открыт. Однако, если вы закроете свой онлайн-редактор, свойство LockedByUser будет немедленно очищено, но окончательное сохранение может произойти позже, иначе окончательного сохранения не будет, если ничего не изменилось.Поэтому мы до сих пор не знаем наверняка, когда файлы обновляются после того, как онлайн-редактирование остановлено.
Примечание: реализация WOPI сама по себе работает, мы тоже это попробовали. Но, как показано ниже, для этого требуется другой рабочий процесс.в качестве партнера по хранению.