Клуб API Диска

апрель 2016
Приложение "Яндекс.Диск"
1 апреля 2016, 11:57

Здравствуйте.

Для закачки файлов в Яндекс.Диск я использую ваше Windows-приложение ЯНДЕКС.ДИСК. Как известно, закаченные файлы в облако помечаются "зеленой галочкой".

Вопросы:

1) Есть ли способ убедиться в 100% валидности файла, расположенного в облаке?

2) При перезагрузке компьютера, при очередном запуске приложения Яндекс.Диск делается ли проверка хэш-суммы всех файлов в облаке и на компьютере? Проводится ли вообще повторная проверка хэш-сумм когда-либо после успешной загрузки?

3) Производится ли "легкое" сжатие передаваемых данных? У меня на тарифе в 50 Мбит физически не может быть цифр в 8-9 Мбайт в секунду, однако именно столько показывает монитор Яндекс.Диска.

4) Яндекс.Диск прилично грузит процессор - 2х ядерный E7500 стабильно нагружен н 50%. Чем это вызвано?

1 комментарий
Переименование файла или папки в яндекс диске
2 апреля 2016, 11:28

Здравствуйте, использую Rest Api. Есть ли там возможность переименовать файл или папку. Если нет. Какой кратчайший путь, чтобы это сделать?

1 комментарий
Как работает асинхронное перемещение файла
2 апреля 2016, 23:17

куда впихивать проверку операции rest api

Нет комментариев
Валидация OAuth токена
13 апреля 2016, 09:17

Здравствуйте, кто сталкивался с тем чтобы проверить действителен ли имеющийся в приложении (сохраненный, ранее выданный) токен?

Варианты:
1. Время "жизни" токена истекло - не валиден
2. Токен отозван по разным причинам - не валиден

Наверное, слишком банально будет выполнить запрос на получение информации о диске (не факт еще что правами это разрешено), чтобы проверить валиднойсть токена.

Возможно существует какой-то универсальный путь выяснить действителен токен или нет?

2 комментария
Метаинформация о файле или папке
14 апреля 2016, 12:52

Здравствуйте, добавьте, пожалуйста, в документацию в описании к запросу "метаинформации о файле или папке" что ресурсы, возвращаются в массиве items [], объекта "_embedded" (имеющего тип ResourceList) всегда в таком порядке: сначала идут папки, а затем файлы, даже если передать атрибут сортировки.

Почему-то это показалось не очевидным.

1 комментарий
Рекурсивное создание папок при загрузке файла на Диск
15 апреля 2016, 13:31

Пытаюсь воспользоваться REST API Диска для хранения архивов данных вебсервиса в автоматическом режиме.

Для удобного хронологичного хранения нужна структура папок виде:

Папка приложения  /год / месяц / дата

Логично при загрузке файла с архивом создавать всю структуру папок рекурсивно за 1(!) запрос к API Диска, но это видимо не дозволено и возвращается ошибка запрета доступа. Как так ? Полномочия токена для доступа к папке приложения есть.

Пример запроса: https://cloud-api.yandex.net/v1/disk/resources/upload?path=app:/2016/2016-04/2016-04-15/filename.zip

PS Пытался отдельным запросом (хоть это и глупо) создавать структуру папок на диске в папке приложения по относительному пути app:/ но и это не прокатило....

Прошу решить данную проблему и при загрузке файла создавать всю структуру папок на диске (если они уже не были созданы) по аналогии с mkdir(,,true) в PHP.

3 комментария
Не создается папка
16 апреля 2016, 20:55

В полигоне работает, а через ssh ошибка. Токен использую один и тот-же.

Команда:
curl -H "Authorization: OAuth %token%" "https://cloud-api.yandex.net:443/v1/disk/resources?path=%2Ffolder1%2Ffolder2%2F"

Ответ:
{"message":"Не удалось найти запрошенный ресурс.","description":"Resource not found.","error":"DiskNotFoundError"}

Хотя с получением ссылки на скачивание файла все работает.

p.s. Еще хотел уточнить права:
- Доступ к папке приложения на Диске
- Доступ к информации о Диске
- Чтение всего Диска
- Запись в любом месте на Диске

2 комментария
Как должен выглядеть AccessToken
18 апреля 2016, 16:20

Здравствуйте. Процитирую с гитхаба:

In case you have a token already, you can skip the authorization and just pass the token to constructor of DiskSdkClient:

var sdk = new DiskSdkClient(AccessToken);

Я являюсь начинающим разработчиком на c#. Приложение будет использоваться только мной, и навереное для начала хочу добавить загрузку фаил через моё приложение.

Как должен выглядеть AccessToken?

string accessToken = "ID,Password";
DiskSdkClient client = new DiskSdkClient(accessToken);

При регистрации приложения мной не был указан call'back url, важно ли это?

Нет комментариев
Опять про докачку
19 апреля 2016, 13:49

Есть необходимость загрузки на диск больших файлов с embedded устройств. Специфика - постоянные обрывы соединений. REST API докачку не поддерживает. WebDAV судя по всему умеет, но это не документировано. Вопрос прост - как?

2 комментария
Ошибка вида: SDK error: You must be logged in before starting to work with SDK? try to call AuthorizeAsync()
19 апреля 2016, 22:05

Ошибка вида: SDK error: You must be logged in before starting to work with SDK? try to call AuthorizeAsync()

Ошибка появляется только для новых созданных почтовых ящиков, не логиниться и все, со старыми все работает нормально, каталоги и файлы читаются, в чем может быть проблема?

1 комментарий
Возможности ЯД api
25 апреля 2016, 13:21

Здравствуйте.
Возможна реализация таких задач как:
1. Распределение прав на "Полный доступ", "Скачивание\Просмотр(в рамках одной папки\категории", "Администрирование(перемещение, переименовка, закачка, создание папок)",  "Показ"?
2. Показ фотографий это, возможность просмотра фотографий в полном разрешении но программно наложенным водяным знаком, через web интерфейс, без склеивания т.е. оригинал фотографии остается неизменным но для категории "Показ" транслируются фотографии с водяным знаком?
3. Система уведомлений\напоминаний о предоставленных правах на те или иные папки\категории, как владельцу так и адресату которому был предоставлен доступ?
5. Как можно сделать полный  backup ЯД?
Спасибо за внимание.
 

3 комментария
Создание папки REST API
25 апреля 2016, 15:13

Идея была такая. Найти нужную папку по имени и при ее отсуствии создать.

Поиск папки выполняется без проблем. В случае, если папки нет использую PUT /v1/disk/resources?path=newfolder

На полигоне все отработало без проблем. 

Сервер на запрос выдал ответ с кодом ошибки 413.

Так и не понял, почему запрос очень большой.

Url: 

https://cloud-api.yandex.net:443/v1/disk/resources?path=newfolder

Заголовки запроса 

"Content-Type" - "application/json; charset=utf-8"

"Authorization", "OAuth + "Мой токен"

Права для приложения установлены.

Как можно решить данную проблему?

5 комментариев
Скачивание папок
26 апреля 2016, 15:57

Всем доброго дня, подскажите пожалуйста, поддерживает ли API Я.Диска, методы для скачивания папок. Т.е. мы можем создать папку, мы можем туда загрузить большое кол-во файлов, а можем ли мы её (по аналогии с Я.Диском) скачать в формате *.zip?

Надеюсь описание задачи понятно. Если можно, что для этого использовать, реализуемо ли это с помощью открытых php-библиотк?

И да, папка не публичная.

Заранее благодарю за ответы.

1 комментарий