Доступ к OneDrive как StorageFolder из локального хранилища

Я разрабатываю одно приложение для Магазина Windows для Win 8.1. Есть ли способ получить доступ к OneDrive пользователя, который уже синхронизирован на жестком диске? Мне нужно получить к нему доступ как StorageFolder. Аналогично KnownFolders и всем библиотекам. Причина этого в том, что я делаю что-то вроде приложения-галереи, которое отображает миниатюры видео и изображений. Когда пользователи решат, что приложение показывает мультимедиа в полном размере, и если это видео, оно воспроизводится. Приложение рассчитывает на тот факт, что OneDrive автоматически синхронизирует все данные, поэтому их необходимо получать через Live SDK API. Если я использую REST, это будет слишком медленно. Знаете ли вы, есть ли способ эффективно реализовать упомянутый подход или, может быть, какая-то альтернатива?

Я много исследовал, но безрезультатно.

Спасибо!

Всего наилучшего, Роско


person roskoN    schedule 08.11.2014    source источник
comment
Используйте FolderPicker и позвольте пользователю выбрать его.   -  person Nate Diamond    schedule 10.11.2014


Ответы (1)


Как упомянул Нейт, вы получаете доступ к папке через API FolderPicker. Нет прямого способа получить StorageFolder для этого расположения.

После того, как вы получите этот StorageFolder и перечислите его содержимое, вы захотите узнать больше о StorageFile.isAvailable API, а также о StorageFile.getThumbnailAsync/getScaledImageAsThumbnailAsync. Флаг isAvailable говорит вам, действительно ли файл был загружен/синхронизирован, поскольку пользователь мог указать «только онлайн» для любых файлов.

Я немного пишу об этом в главе 11 моей бесплатной электронной книги Programming Windows Store Apps with HTML, CSS, and JavaScript, 2nd Edition (стр. 575, стр. 593–597), включая таблицу о том, как доступность OneDrive работает с лимитными сетями. Это включает в себя использование эскизов.

На конференции //build 2013 также есть доклад Марка Вотье «Что нового в работе с файлами», http://channel9.msdn.com/events/Build/2013/2-119. Должен ответить на ваши вопросы OneDrive.

person Kraig Brockschmidt - MSFT    schedule 10.11.2014
comment
Большое спасибо за Вашу помощь! - person roskoN; 18.11.2014