Простой клиент 2Safe.com. Обзор API.

Материал из Rosalab Wiki
Перейти к: навигация, поиск

Вот уже почти полтора года, как сервис облачного хранения 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+лвл за мой французский.
  1. на текущий момент выпущена только Alpha версия

[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.