CloudRail API - Onedrive не может загрузить файл с пробелами в пути

В последние несколько дней код, который раньше работал с пробелами, начал давать сбой. Я активно развиваюсь, поэтому, возможно, я что-то напутал, но я так не думаю. Ниже приведен простой пример, где 5 файлов находятся в каталоге Test. Не удается загрузить только файл с пробелом. Если я перехожу в OneDrive и переименовываю его без пробелов, то мое приложение CloudRail продолжается без ошибок.

Спасибо за любую помощь, вы можете предоставить!

Чарли Беккер


app.get("/auth/test/onedrive", (req, res) => {
    let service = makeService('onedrive'); // Make the service the user is logged in with
    service.loadAsString(authState); // Skip authentication by loading the saved credentials
    service.getUserName((err, name) => { // We retrieve the user's full name and save it on signup so it stays constant
        console.log('Hello ' + name);
    });

    service.getChildren("/Pictures/Test", (err, children) => {
        if (err) throw err;
        for (let child of children) {
            console.log('Trying to download FILE: ' + child.path);

            service.download(child.path, (err, stream) => {
                if (err) throw err + ' FILE: ' + child.path;

                console.log('Downloaded FILE: ' + child.path);
            });
        }
    });
});
Оформление услуги: "onedrive"
Пытаюсь скачать ФАЙЛ: / Картинки / Тест / Собаки out.jpg
Попытка загрузить ФАЙЛ: /Pictures/Test/dogs out.jpg
Попытка загрузить ФАЙЛ: /Pictures/Test/IMAG0039.JPG
Попытка загрузить ФАЙЛ: /Pictures/Test/IMG_2494.JPG
Попытка загрузить ФАЙЛ: /Pictures/Test/whiskey_black.png
Ошибка необработанного отклонения: элемент не существует ФАЙЛ: / Изображения / Тест / Собаки out.jpg

Привет Чарли Беккер
Загруженный файл: /Pictures/Test/whiskey_black.png
Загруженный файл: /Pictures/Test/IMG_2494.JPG
Загруженный файл: /Pictures/Test/IMAG0039.JPG
Загруженный файл: /Pictures/Test/dogs out.jpg

1 ответ

Очевидно, Microsoft изменила, какую кодировку URL они принимают для имен файлов с пробелами в своем API OneDrive без предварительного уведомления. Новейшая версия CloudRail Node.js SDK (2.17.3) была адаптирована соответствующим образом и должна решить эту проблему.

Другие вопросы по тегам