在OneDrive(LIVE SDK API)的当前文件夹中创建副本(复制)文件

在OneDrive(LIVE SDK API)的当前文件夹中创建副本(复制)文件,sdk,onedrive,live-sdk,Sdk,Onedrive,Live Sdk,在Javascript上,我使用的是Live SDK REST API(这是一个针对单驱动器基本REST服务的API,如下所述:),我试图实现一个“复制文件/复制”操作,以便在我的当前路径上创建副本(更改名称)。 当我在此处发出复制请求时(其中路径是我要复制的文件,目标是其当前文件夹): 我得到了错误响应,因为资源已经存在(这是完全合理的)。但是,我无法找到在请求上添加filenameCopy1参数的方法来避免这种情况 因此,我认为进行克隆的唯一方法是使用一个临时文件夹来复制文件,然后用file

在Javascript上,我使用的是Live SDK REST API(这是一个针对单驱动器基本REST服务的API,如下所述:),我试图实现一个“复制文件/复制”操作,以便在我的当前路径上创建副本(更改名称)。 当我在此处发出复制请求时(其中路径是我要复制的文件,目标是其当前文件夹):

我得到了错误响应,因为资源已经存在(这是完全合理的)。但是,我无法找到在请求上添加filenameCopy1参数的方法来避免这种情况

因此,我认为进行克隆的唯一方法是使用一个临时文件夹来复制文件,然后用filenameCopy1重命名它,然后将其移回当前文件夹。这个过程真的很慢,也不太安全(例如,如果只发生一个动作怎么办)


非常感谢你的建议。谢谢。

支持您所追求的功能。
Live-Connect
API目前尚未开发,因此如果可以的话,我绝对建议您切换。谢谢,最后我选择了新的OneDrive API。它对于所有单独的操作都更加健壮。但是,这很棘手,因为我必须手动为我的应用程序添加身份验证窗口+复制文件时的一些问题-响应是一个位置url(用于监视复制进度),而不是复制文件的数据
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;
    }
    );
}