在OneDrive的当前文件夹上创建复制(重复)文件(LIVE SDK API)

时间:2017-02-13 22:33:05

标签: sdk onedrive live-sdk

在Javascript上,我使用的是Live SDK REST API(这是一个用于One Drive基本REST服务的API,如下所述:https://msdn.microsoft.com/en-us/library/hh826531.aspx),我正在尝试实现“制作文件/副本的副本”动作,以便在当前路径上创建重复项(具有更改的名称)。 当我在这里发出COPY请求时(其中path是我要复制的文件,目标是当前文件夹):

function copyFile_onClick() {
    WL.login({
        scope: "wl.skydrive_update"
    }).then(
    function (response) {
        WL.api({
            path: "file.a6b2a7e8f2515e5e.A6B2A7E8F2515E5E!141",
            method: "COPY",
            body: {
                destination: "folder.a6b2a7e8f2515e5e.A6B2A7E8F2515E5E!125"
            }
        }).then(
            function (response) {
                document.getElementById("infoArea").innerText = "Item copied.";
            }, 
            function (responseFailed) {
                document.getElementById("infoArea").innerText =
                    "Error calling API: " + responseFailed.error.message;
            }
        );
    },
    function (responseFailed) {
        document.getElementById("infoArea").innerText =
            "Login error: " + responseFailed.error_description;
    }
    );
}

我收到错误响应,因为那里已经存在资源(这是完全合理的)。但是,我找不到在请求中添加filenameCopy1参数的方法,以避免这种情况。

因此,我想要进行克隆的唯一方法是使用临时文件夹复制文件,然后使用filenameCopy1重命名,然后将其移回当前文件夹。这个过程非常缓慢而且不那么安全(例如,如果只发生一个动作会怎么样)。

任何建议都非常感谢。感谢。

0 个答案:

没有答案