在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重命名,然后将其移回当前文件夹。这个过程非常缓慢而且不那么安全(例如,如果只发生一个动作会怎么样)。
任何建议都非常感谢。感谢。