Авторизация к Яндекс.Диску посредством Javascript (AJAX) и последующая работа с API?

Интересует пример авторизации с помощью OAuth или Basic авторизации к Яндекс.Диску, для последующей работы с API.
Может кто знает уже готовое решение под фронт энд, на подобии вот этого под node.js - yandex-disk

С авторизацией разобрался, теперь не могу отправить правильный запрос к webdav.yandex.ru на upload файла в каталог пользователя методом PUT.
Получаю ошибку 400 при отправке PUT запроса следующим кодом
var file = $('input[type="file"]').prop("files")[0];
    $.ajax({
        url: 'https : // webdav.yandex.ru:443',
        type: 'PUT',
        dataType: 'jsonp',
        beforeSend: function(xhr) {
            xhr.setRequestHeader('Authorization', 'OAuth <token>');
            xhr.setRequestHeader('Expect', '100-continue');
            xhr.setRequestHeader('Content-Type', 'application/binary');
            xhr.setRequestHeader('Content-Length', file.size);
            xhr.setRequestHeader('Host', 'webdav.yandex.ru');
            xhr.setRequestHeader('Accept', '*/*');
            xhr.file = file;
        },
        xhr: function() {
            var myXhr = $.ajaxSettings.xhr();
            if(myXhr.upload){
                myXhr.upload.addEventListener('progress', progressHandlingFunction, false);
            }
            return myXhr;
        },
        success: function(d) {
            console.dir('ok')
        },
        cache: false,
        contentType: false,
        processData: false
    });


Серверу необходимо передать каталог пользователя, куда необходимо загрузить файл, а как это сделать на js я никак не пойму.
  • Вопрос задан
  • 6117 просмотров
Пригласить эксперта
Ответы на вопрос 1
Webdesus
@Webdesus
Я с яндекс API не работал ни когда. Но думаю там тоже самое как и у всех. Вот тут
url: 'https : // webdav.yandex.ru:443',
Вписываем в url полный адрес до папки url: 'https : // webdav.yandex.ru:443/путь к вашей директории' Возможно придется полный путь писать как у Вас показывается в браузере. Это все зависит от того как яндекс работает. Слишком у него плохая документация по api.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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