Рейтинг:
1
Afzaal Ahmad Zeeshan
Поскольку у вас уже есть веб-приложение, почему бы вам просто не уйти и не создать API в своем собственном приложении; если бы мне пришлось это сделать, я бы определенно сделал это так. Это имело бы различные преимущества, вам не нужно будет раскрывать свои ключи API для приложения всем, кто использует ваше приложение Все ваши ключи будут в безопасности на вашем веб-сервере, и люди будут пользоваться вашими услугами.
Кроме того, это было бы лучше, потому что вы просто расширили бы свое веб-приложение до другой степени и позволили бы клиентам потребляйте свое веб-приложение. OneDrive Rest API можно легко использовать с настольными приложениями .Чистый фреймворк HttpClient
проблема в том, что вы будете переписывать один и тот же код снова и снова.
Srusti Thakkar
Как вы уже упоминали, я должен создать свой собственный WEBAPI, я создал его, но теперь я хочу создать так же, как OneDrive Desktop Client и синхронизировать данные в двух направлениях. Как это может быть возможно?
Afzaal Ahmad Zeeshan
Для этого вам нужно будет написать клиент, который проверяет данные онлайн и оффлайн, в обоих направлениях.
Что именно у вас есть на данный момент? Теоретически мы ничем не можем вам помочь.
Srusti Thakkar
Я создал одну службу Windows, в которой я использую класс FileSystemWatcher и выполняю действия по созданию, переименованию или удалению. Всякий раз, когда эти действия выполняются в локальном каталоге, я вызываю REST API и синхронизирую локальные данные в OneDrive, но всякий раз, когда пользователь вносит изменения в OneDrive, используя Дельта-запрос, перечисляю все изменения и пытаюсь синхронизировать с локальным каталогом. Он работает нормально, но всякий раз, когда Дельта-запрос пытается синхронизировать данные, событие FileSystemWatcher выполняет и пытается синхронизировать локальные изменения с OneDrive. Как я могу использовать логику синхронизации для поддержания изменений?
Afzaal Ahmad Zeeshan
Вы можете отключить эту службу, когда ваше приложение загружает обновления из OneDrive, а затем перезапустить ее.
Для получения ответа, пожалуйста, взгляните на этот ответ Сергея.