如何在浏览器中使用一个驱动器文件选择器?

时间:2014-08-18 06:53:24

标签: onedrive

我需要在我的网站中集成One Driver文件选择器。我正在使用这个js lib来完成任务。

<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,文件选择器从未显示。有什么想法吗?

3 个答案:

答案 0 :(得分:2)

我通过在回调页面中包含js脚本解决了这个问题,wl sdk会自动为你处理oauth进程。

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

这很奇怪,因为我找不到任何与您在MS开发者网站上如何处理回调页面相关的文档。

答案 1 :(得分:0)

您是否可以使用http://isdk.dev.live.com上的“使用OneDrive选择器中的打开”样本?

答案 2 :(得分:0)

在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);
    }

我希望它对所有人都有效。