Задать вопрос
@Sad_Bro
На темной стороне.

Как загрузить файл жесткого диска на Yandex disk используя API?

Фото лежит на диске C:\photo.jpg, система соотв windows в описании api сказано что ссылку я должен преобразовать в url формат, получается C:%5Cphoto.jpg

Есть описание
https://tech.yandex.ru/disk/api/reference/upload-d...
там сказано что я сначала должен получить ссылку на закачку файла
Отправив запрос по url
https://cloud-api.yandex.net/v1/disk/resources/upload ?
path=C:%5Cphoto.jpg

в ответ получаю json c ошибкой
"Specified path \"%5Cphoto.jpg\" has incorrect format
Помогите разобраться, что я не так делаю ?
  • Вопрос задан
  • 2772 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@Sad_Bro Автор вопроса
На темной стороне.
разобрался в общем. Все правильно что бы получить ссылку надо отправить запрос на
https://cloud-api.yandex.net/v1/disk/resources/upload ?
path=/file_name
в пути соотв путь и имя файла.
заголовок с токеном передаем.
в ответ придет href на которую надо загрузить. Ссылка работает только один раз, поэтому если что то пошло не так надо получать новую ссылку.

Отправлять надо с заголовком content-type text/plain, если через постман то достаточно выбрать binary тип.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
dimonchik2013
@dimonchik2013
non progredi est regredi
отправлять нужно на
https://cloud-api.yandex.net/v1/disk/resources/upload

а не даунлоад
Ответ написан
amorphis
@amorphis
Технолог в Студии Артемия Лебедева
Там же написано, что
path=<путь, по которому следует загрузить файл>

Это пусть на Яндекс.Диске куда следует загрузить файл. Т.е. в этом параметре вы указываете путь к папке на Яндекс.Диске, куда будет сохранен загружаемый файл.

А, вы указали абсолютный путь к файлу на своём локальном диске.
Ответ написан
IvanTheCrazy
@IvanTheCrazy
curl -T $FILE_NAME --user "$WEBDAV_LOGIN:$WEBDAV_PASSWORD" https://@webdav.yandex.ru/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы