Простой клиент 2Safe.com. Обзор API.
Вот уже почти полтора года, как сервис облачного хранения 2Safe работает в режиме тестирования, и очень не многие знают, о том, что этот сервис умеет. Попробуем разобраться по порядку.
Текст рассчитан на узкий круг специалистов и в нем преобладают специфические термины и примеры кода. В общем Developers only.
API полностью покрывает все функции сервиса, чтобы через него абсолютно полноценно его использовать: выполнять всяческие проверки, регистрировать и удалять учетные записи, управлять файлами и многое другое.
Полный список всех функций представлен 2Safe_API, ну а мы попробуем неспешно написать простенький консольный клиент.
Пример может оказаться вполне полезным скажем для скриптования автоматизации наиболее часто выполняемых операций.
Сразу договоримся, что писать мы будем на Perl и будем использовать библиотеку, автор которой Ваш покорный слуга perl-lib2safe. Библиотека доступна в Contrib репозитории ROSA 2012 Marathon и ROSA 2012 Desktop [1]
И так устанавливаем:
$ sudo urpmi perl-lib2safe
В библиотеке самую малость изменены названия функций из оригинального API но они не перестали быть понятными. Например list_dir -> ls, copy_file -> cp и т.д. Читаем справку:
$ man lib2safe
Открываем наш любимый текстовый редактор:
$ vi test2safe-client.pl
И пишем мега-программу:
#!/usr/bin/perl use lib2safe; my $psync = new lib2safe (URL => 'https://api.2safe.com/'); #Кстати можно и без параметров вовсе. #https://api.2safe.com/ есть дефолтовое значение урла. my $mylogin = $psync->login(login=>'mylogin', password=>'****'); #Вот так вот просто авторизовываемся уже зарегистрированным ранее пользователем. #Проверяем статус авторизации die('Error Authorize') unless ($$mylogin{response}{success} && $$mylogin{response}{success} eq 'true'); my $ls = $psync->ls(); #без параметров просматривается содержимое #корневой директории авторизованного пользователя. my $new_dir = $psync->mkdir(dir_id => $$ls{response}{root}{id}, dir_name => 'new_dir'); #Создали в корне новую папочку с именем "new_dir" my $testfile = $psync->put(dir_id => $$new_dir{response}{dir_id}, file => "test2safe-client.pl", name => '2safe-client.pl'); # А тут заливаем во вновь созданную папочку наш скрипт но под другим именем.
Ради справедливости следует заметить, что в примере приведены лишь несколько функций. Всего в библиотеке их реализовано более 40, перечислю лишь разделы:
- Пользовательские функции
- Функции по работе с файловой системой
- Функции по работе с блокировками
- Функции расшаривания и публикации объектов
- Функции по работе с версионностью
Так же замечу, что официальный сайт проекта использует точно этот же список функций. То есть, разработчики сайта не используют более никаких вызовов к сервису, кроме перечисленных в документе. Вы можете с теми же усилиями создать например собственный сайт с аналогичным функционалом с минимальными затратами.
Да простят меня перлокодеры 80+лвл за мой французский.- ↑ на текущий момент выпущена только Alpha версия
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.