- PVSM.RU - https://www.pvsm.ru -
У меня есть две новости. Традиционно хорошая и плохая.
Вчера пришло извещение, что Bitcasa наконец-то запустила API [1], пока в бета-версии. Также представлены SDK на PHP [2] и JAVA [3], которые опубликованы на GitHub. В дальнейшем обещают SDK для Python, iOS, Android, Ruby и других.
Сразу после регистрации дают 5 ГБ места, и можно за счет рефов (по гигабайту за установку) и других «квестов» получить до 20 бесплатных ГБ. За $99/год предлагается 1 ТБ, а $999/год — неограниченное место.
API позволяет выполнять следующие действия:
Каталоги
Файлы
Полез тестировать, и оказалось, что пока всё слишком сыро, да и есть откровенные фэйлы. Итак о замеченных недостатках.
Не замечено, как с помощью API получить имя пользователя и доступную/использованную квоту. Также неизвестно, есть ли какие-то ограничения по размерам файлов. Скачивание (download) поддерживает заголовок Range, соответственно позволяет скачать любой кусок файла. А вот с Upload традиционно для многих облачных хранилищ не так радужно, и загрузка (upload) частями или продолжение загрузки после разрыва связи невозможно.
Для авторизации приложений используется, что-то похожее на OAuth 2, но несовместимое с OAuth 2. Вот спрашивается зачем делать почти тоже самое, просто немного по другому назвать параметры? Вместо code использовать authorization_code, вместо client_secret — secret, вместо redirect_uri — redirect, и т.д. Также отсутствует параметр state, который позволяет передавать различные данные из приложения на redirect. Имхо, за такое нужно гвоздь в голову разработчикам забивать… Ну есть же стандарт, зачем делать свой велосипед отламывая детали у готового, тем более не предлагающий никаких преимуществ? Ну не осилили реализовать OAuth 2 полностью, пусть хоть то, что есть будет совместимо. А теперь получается, что на всех хранилищах, которые используют OAuth 2 авторизацию, можно использовать один и то же модуль, а для Bitcasa нужен отдельный…
При попытке авторизации, постоянно требует ввести логин и пароль, хоть ты и залогинен уже. Также никаких сообщений о том, что какое-то приложение хочет получить доступ к вашим файлам и кнопочек разрешить или нет. Несмотря на наличие в параметрах приложения Redirect Uri, Bitcasa его игнорирует (возможно потому, что пока приложение в Sandbox) и переадресует на любой адрес указанный в запросе.
При этом используется только авторизация с использованием кода авторизация. Также несколько необычно то, что токен передается в строке запроса, как-то привычнее использовать заголовок Authorization.
Несмотря на то, что Bitcasa позиционируется, как защищенное хранилище с шифрованием на стороне клиента, каких-либо упоминаний о необходимости шифрования файлов перед загрузкой их с помощью API не замечено, в PHP SDK тоже никакого шифрования. Разве, что пути файлов в base64 кодируются.
В общем такое ощущение, что самое сложное для разработчиков API очередного облачного хранилища — сделать так, чтобы было максимально непохоже и несовместимо с API других хранилищ.
Будем надеяться, что описанные корявости в будущем поправят…
Автор: zapimir
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/news/48850
Ссылки в тексте:
[1] API: https://developer.bitcasa.com/
[2] PHP: https://github.com/bitcasa/bitcasa-sdk-php
[3] JAVA: https://github.com/bitcasa/bitcasa-sdk-java
[4] Источник: http://habrahabr.ru/post/202990/
Нажмите здесь для печати.