Pull to refresh

Подключение SkyDrive в Linux

Reading time3 min
Views23K
SkyDrive&Ubuntu

Доброго времени суток.

Хочу обратить ваше внимание на пару скриптов для работы со 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 на редактирование и добавляем:
skydrivefs  /media/skydrive fuse.skydrivefs user,rw,noauto 0 0

После перезагрузки можно будет получить доступ к своему SkyDrive просто кликнув на иконку диска.

Технические подробности, код… доступны по ссылкам. Пытливые умы найдут много способов применить доступ к SkyDrive из командной строки в деле. Остальным же будет удобнее использовать SkyDrive как файловую систему.

Спасибо за внимание, надеюсь это статья будет вам полезна.
Tags:
Hubs:
Total votes 19: ↑17 and ↓2+15
Comments9

Articles