Доброго времени суток.
Хочу обратить ваше внимание на пару скриптов для работы со SkyDrive в Linux. Скрипты написаны на Python и скорее всего будут работать в любой *NIX системе, и не только *NIX. Первый предоставляет возможность работать с аккаунтом в командной строке, второй, модуль для FUSE, позволяет подключить содержимое SkyDrive к файловой системе. Проект практически нигде не упоминается. Сам я на него наткнулся случайно, после того, как не смог подключить SkyDrive с использованием недокументированного WebDAV. И стал искать другой способ подключения, исходя из предположения, что, раз у SkyDrive есть API, то кто-нибудь должен этим воспользоваться.
Автор Михаил(?) Казанцев не хочет рекламировать проект, поэтому я решил сделать это за него. У меня все работало в Ubuntu 13.04, заработает ли у вас, не знаю. В любом случае альтернатив немного и имеет смысл попробовать.
Установка и настройка python-skydrive
Реализация SkyDrive REST API v5.0 на Python. Скрипт позволяет использовать командную строку для работы с аккаунтом SkyDrive. Проект располагается на GitHub по адресу https://github.com/mk-fg/python-skydrive (зеркало на python.org). Скрипт доступен в каталоге пакетов для Python (PyPI). Автор скрипта рекомендуют для установки использовать pip, воспользуемся его советом:
sudo apt-get install python-pip
sudo pip install 'python-skydrive[standalone]'
Пакет имеет в зависимостях PyYAML, и насколько я понял он должен установиться автоматически, но не установился. Поэтому:
sudo pip install pyyaml
(или так: sudo apt-get install python-yaml)
Создадим в домашнем каталоге файл ~/.lcrc, следующего содержания:
client:
id: xxxxxxxx
secret: xxxxxxxxxx
Значения для id и secret нужно получить зарегистрировав приложение в DevCenter. Регистрируем новое приложение, например Python-Skydrive, внизу страницы выбираем мобильное клиентское приложение, сохраняем. Список подключенных приложений можно увидеть тут: https://account.live.com/consent/Manage.
Для доступа к аккаунту используется авторизация по OAuth. Для авторизации выполним в командной строке:
skydrive-cli auth
Потребуется перейти по сгенерированной ссылке и разрешить приложению доступ, произойдет перенаправление на другую страницу, копируем ее адрес и вставляем в командную строку для завершения авторизации.
Готово, список доступных команд skydrive-cli --help
(Ваш КО).
Подключение SkyDrive к файловой системе
Для этого потребуется еще один скрипт, скачать его можно по адресу https://github.com/mk-fg/skydrive-fuse-fs. Нужно будет скачать skydrivefs и скопировать в каталог для исполняемых файлов (в примере был показан /usr/local/sbin/
, я последовал примеру). Помечаем файл исполняемым. Так же потребуется установить модуль fusepy:
sudo pip install fusepy
(или просто скопировать идущий в комплекте fuse.py в тот же каталог, что и skydrivefs)
Проверяем:
sudo mkdir /media/skydrive && sudo skydrivefs /media/skydrive
В подключенных дисках должен появится новый диск skydrive.
Остается автоматизировать процесс подключения, открывает /etc/fstab на редактирование и добавляем:
mount -t fuse.skydrivefs ~/.lcrc /media/skydrive user,rw,noauto 0 0
После перезагрузки можно будет получить доступ к своему SkyDrive просто кликнув на иконку диска.
Технические подробности, код… доступны по ссылкам. Пытливые умы найдут много способов применить доступ к SkyDrive из командной стоки в деле. Остальным же будет удобнее использовать SkyDrive как файловую систему.
Спасибо за внимание, надеюсь это статья будет вам полезна.
Автор: Ivush