Клуб API Диска

REST API Яндекс.Диска

6 июня 2014, 16:30

Многие знают, что у Яндекс.Диска уже есть WebDAV API, он идеально подходит для работы с Яндекс.Диском, как с файловой системой, но WebDAV накладывает на нас много ограничений. А в Яндекс.Диске появляется всё больше возможностей, которыми мы хотели бы поделиться с разработчиками. Поэтому мы решили запустить для вас новый, более простой и понятный, инструмент — RESTful API.

Чтобы вам было удобнее работать, REST API Яндекс.Диска обладает несколькими особенностями:

  • Простая и понятная структура – мы сделали всё, для того чтобы расширение функциональности API укладывалось в существующую простую и логичную структуру и не привело к превращению его в хаотичный набор ручек.
  • Ресурсы API связаны между собой гипермедиа-ссылками — благодаря этому, клиент может по желанию может получать не только мета-данные ресурсов, но и доступные с ними действия. Самодокументируемость на основе машиночитаемого стандарта Swagger 1.2.
  • Сервис «Полигон», который мы смогли запустить, не написав ни строчки кода, благодаря поддержке стандарта Swagger.


Задать вопрос или поделиться своим проектом на базе API Яндекс.Диска вы можете в этом клубе или через форму обратной связи.

#

 

9 комментариев

Клево! Но где работа с прямыми ссылками?! :-(

К сожалению, пока мы планируем реализовывать данную функциональность
К сожалению, пока мы не планируем реализовывать данную функциональность

Почему? Можно поподробней, разве есть какие-то сложности? 

Все очень не плохо. А вот по загрузке ни хрена не понятно. Ну получил я ссылку, а дальше то что?

Дальше берём файл и загружаем его по этой ссылке методом PUT, не забыв передать заголовок с OAuth токеном.

Весь процесс подробно описан в документации.

Похоже я туповат в данном вопросе. Можно пример в php коде?
Данное объяснение в доках читал. Но так и не понял к сожалению((

PHP я уже не помню, но вот рабочий пример с помощью курла из консоли:

akinfold@ubuntu ~ $ curl -H 'Authorization: OAuth ' 'https://cloud-api.yandex.net/v1/disk/resources/upload?path=/test.txt'
{"href":"https://uploader2j.disk.yandex.net:443/upload-target/20140703T162452.372.utd.2hr7dfadsfadgfaasdftrtcb5q2-k7j.764543","method":"PUT","templated":false}
akinfold@ubuntu ~ $ curl -v -X PUT -H 'Authorization: OAuth ' --data-binary 'hello!' 'https://uploader2j.disk.yandex.net:443/upload-target/20140703T162452.372.utd.2hr7dfadsfadgfaasdftrtcb5q2-k7j.764543'

Как оказалось отправить довольно просто, вот один из способов как это можно сделать