- PVSM.RU - https://www.pvsm.ru -

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

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 [1] (зеркало на python.org [2]). Скрипт доступен в каталоге пакетов для 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 [3]. Регистрируем новое приложение, например Python-Skydrive, внизу страницы выбираем мобильное клиентское приложение, сохраняем. Список подключенных приложений можно увидеть тут: https://account.live.com/consent/Manage [4].

Для доступа к аккаунту используется авторизация по OAuth. Для авторизации выполним в командной строке:

skydrive-cli auth

Потребуется перейти по сгенерированной ссылке и разрешить приложению доступ, произойдет перенаправление на другую страницу, копируем ее адрес и вставляем в командную строку для завершения авторизации.

Готово, список доступных команд skydrive-cli --help (Ваш КО).

Подключение SkyDrive к файловой системе

Для этого потребуется еще один скрипт, скачать его можно по адресу https://github.com/mk-fg/skydrive-fuse-fs [5]. Нужно будет скачать 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

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/34049

Ссылки в тексте:

[1] https://github.com/mk-fg/python-skydrive: https://github.com/mk-fg/python-skydrive

[2] python.org: https://pypi.python.org/pypi/python-skydrive/

[3] DevCenter: https://manage.dev.live.com/Applications/Create/

[4] https://account.live.com/consent/Manage: https://account.live.com/consent/Manage

[5] https://github.com/mk-fg/skydrive-fuse-fs: https://github.com/mk-fg/skydrive-fuse-fs

[6] Источник: http://habrahabr.ru/post/179213/