Как использовать средство выбора файлов на одном диске в браузере?

Мне нужно интегрировать средство выбора файлов One Driver на мой веб-сайт. Я использую эту библиотеку js для выполнения задачи.

<script type="text/javascript" src="//js.live.net/v5.0/wl.js"></script>

Код, который я написал,

WL.init({ client_id: "000000004C1xxxxx", redirect_uri: 'https://xxx.net/' });
WL.login({
        scope: "wl.skydrive wl.signin"
    }).then(
        function(response) {
            WL.fileDialog({
                mode: "open",
                select: "multi"
            }).then(
                function (response) {
                },
                function (responseFailed) {
                }
            );
        },

        function(response) {
            log("Failed to authenticate.");
        }
    );

Он показал всплывающее окно и прошел процесс аутентификации. Однако, как только я вошел в систему во всплывающем окне. Он просто перенаправлялся на указанный мной URL-адрес перенаправления, но средство выбора файлов никогда не отображалось. Любые идеи?


person codingrhythm    schedule 18.08.2014    source источник


Ответы (3)


Я решил эту проблему, включив скрипт js на свою страницу обратного вызова, wl sdk автоматически обработает для вас процесс oauth.

<script type="text/javascript" src="//js.live.net/v5.0/wl.js"></script>

Это странно, поскольку я не смог найти никаких документов, связанных с тем, как вы должны поступать со своей страницей обратного вызова на веб-сайте разработчика MS.

person codingrhythm    schedule 19.08.2014


Используйте функцию ниже в вашем файле js и не забудьте включить:

<script type="text/javascript" src="https://js.live.net/v7.0/OneDrive.js"></script>




 function launchOneDrivePicker() {
        var odOptions = {
            clientId: "*******************************",
            action: "download",
            multiSelect: true,
            openInNewWindow: true,
            advanced: {
                queryParameters: "select=id,name,size,file,folder,photo",

                redirectUri: (Eneter your default url e.g :)"http://localhost:60666/WebForm1.aspx"
            },
            success: function (response) { /* success handler */      },
            cancel: function () { /* cancel handler */ },
            error: function (e) { /* error handler */ },
        };
        OneDrive.open(odOptions);
    }

Я надеюсь, что это работает для всех, спасибо.

person Sanjeev Sangral    schedule 09.09.2016