Получить ссылку для загрузки и обмена с помощью API-интерфейса Onedrive (Skydire) без загрузки

Пожалуйста, может кто-нибудь помочь мне показать мне, как изменить этот скрипт просто (чтобы выбрать), чтобы получить ссылку для загрузки и общего доступа к файлу с размером и mimetype, используя API-интерфейс Onedrive, без загрузки файла (как в этой функции):

    WL.init({ client_id: clientId, redirect_uri: redirectUri });

WL.login({ "scope": "wl.skydrive wl.signin" }).then(
    function(response) {
        openFromSkyDrive();
    },
    function(response) {
        log("Failed to authenticate.");
    }
);

function openFromSkyDrive() {
    WL.fileDialog({
        mode: 'open',
        select: 'single'
    }).then(
        function(response) {
            log("The following file is being downloaded:");
            log("");

            var files = response.data.files;
            for (var i = 0; i < files.length; i++) {
                var file = files[i];
                log(file.name);
                WL.download({ "path": file.id + "/content" });
            }
        },
        function(errorResponse) {
            log("WL.fileDialog errorResponse = " + JSON.stringify(errorResponse));
        }
    );
}

function log(message) {
    var child = document.createTextNode(message);
    var parent = document.getElementById('JsOutputDiv') || document.body;
    parent.appendChild(child);
    parent.appendChild(document.createElement("br"));
}

демонстрационная ссылка: http://isdk.dev.live.com/dev/isdk/ISDK.aspx?category=scenarioGroup_skyDrive&index=0

Спасибо за помощь.

1 ответ

Я вижу следующие свойства, доступные для файловой переменной, которая возвращается из средства выбора:

id, описание, имя, тип, ссылка, upload_location, источник, фото

с помощью этой версии метода openFromSkyDrive():

function openFromSkyDrive() {
WL.fileDialog({
    mode: 'open',
    select: 'single'
}).then(
    function(response) {
        log("The following file is being downloaded:");
        log("");

        var files = response.data.files;
        for (var i = 0; i < files.length; i++) {
            var file = files[i];
            log(file.name);

            /* show all the the properties of 'file' variable */
            for( var p in file){
                log(p);
            }

            /* get the type, which really isn't a full mimetype */
            log(file.type);

            /* get the share link */
            log(file.link);

            /* do not download the file */
           // WL.download({ "path": file.id + "/content" });
        }
    },
    function(errorResponse) {
        log("WL.fileDialog errorResponse = " + JSON.stringify(errorResponse));
    }
);
}
Другие вопросы по тегам