Как стать автором
Обновить

Комментарии 12

Сколько не глядел не могу понять, можно ли дать приложению доступ только к одной папке?
Приложение может запросить права на папку Приложения или на запись/чтение всего Диска.
Только работает это криво, писал в поддержку яндекс.диска. Но, что-то толком и не ответили.
Если выбрать доступ только к каталогу приложения — то нельзя посмотреть квоту на диске (не хватает прав). Получается для того, чтобы узнать квоту, мне нужно просить у пользователя доступ на чтение всего диска.
Вот к примеру, у меня приложение для бэкапа которое может заливать к примеру файл на несколько гиг, то мне нужно либо включать доступ к чтению всего диска, либо заливать файл на авось, и после заливки узнавать, что места нет.

Также не ясно когда появится поддержка upload по частям (что есть и в dropbox, и в google drive, и т.п.). То же касается скачивания, не всего файла, а частей (к примеру, не обязательно скачивать весь zip файл, если нужно оттуда извлечь только один файл).

И еще хотелось бы, чтобы если запрос идет к app:/ то и пути к файлам и каталогам получать относительно app:/. Зачем приложению знать полный путь, если оно имеет доступ только к своему каталогу.
про квоты, это баг!.. мы это исправим.
Спасибо, будем ждать.

И еще хотел предложить, чтобы добавили в информацию о диске (сейчас это только квоты) имя пользователя, и возможно ссылка с приглашением. Да я в курсе, что можно узнать имя пользователя используя API Логин (хотя в доках REST API об этом ни слова). Но это выглядит, как костыль, так как нужно делать отдельный запрос к другому хосту. Т.е. все данные мы получаем с cloud-api.yandex.net (и соответственно можно использовать Keep-Alive соединение), а для запроса имени нужно делать отдельный запрос на login.yandex.ru.
OAuth же тоже отдельно. такие запросы не так часто делаете что Keep-Alive было важно?!
Ну я же написал, что это не критично, но как по мне более логично, если запрашиваешь информацию о диске, то получаешь и имя владельца, как сделано у всех основных конкурентов (Dropbox, Google Drive, Box, Copy и т.п.). У того же Google тоже куча разных API, но если используешь API диска, то можно получать всю нужную информацию с этого API. А не использовать для этого еще другие API.
Не так давно написал bash-скрипт, использующий OAuth-авторизацию, curl и REST API Яндекс.Диска для резервного копирования: исходники на гитхаб, описание в блоге. Буду рад, если кому-нибудь пригодится, а так же конструктивной критике и замечаниям. Цель была больше образовательная, чем практическая — хотелось использовать обычный shell и curl, тем более последнего для работы с REST API более чем достаточно.
спасибо большое за информацию, мы с командой ознакомимся с вашим решением
А я очень давно столкнулся с проблемой разлогинивания — как?
Я хочу, чтобы юзер мог нажать на кнопку «Sign out», и при этом произошло примерно следующее:
* Программа сделала запрос на уничтожение токена
* Программа удалила токен из внутреннего хранилища
* Пользователь перенаправлен на страницу входа в Яндекс.Диск, а она знает, что пользователь разлогинен и показывается в первоначальном виде.

Сейчас метода API для первого пункта нет (не было по крайней мере пару месяцев назад), а на номере три даже без явного указания tokena в url все равно происходит автоматическая авторизация (чтобы этого не происходило, нужно выйти из Яндекс.Паспорта).

Это не особо популярная хотелка? =\ Вроде бы в других сервисах, использующих OAuth, бывает способ выйти…
ну да, это к сожалению пока ещё не возможно ( api.yandex.ru/oauth/ ), но поговорим с командой OAuth о разработке этой фичи.
Было бы очень интересно почитать о проблемах, с которыми вы столкнулись при разработке как API так и клиента. Наверняка кто-то сломал голову, думая о разрешении конфликтов, к чему Вы в итоге пришли и какие планы? Как и какие проблемы решали и решили ли при отслеживании изменений файлов и папок. Как происходит процедура синхронизации с учетом того, что пользователь в этот момент может сделать что угодно как с файлами, так и убить приложение. И так далее.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий