【问题标题】:Conflict folder move Dropbox API?冲突文件夹移动 Dropbox API?
【发布时间】:2016-03-23 04:18:27
【问题描述】:

我正在尝试将一些文件从一个文件夹移动到另一个文件夹。

这是我的 curl 请求:

curl -X POST https://api.dropboxapi.com/2/files/move \
  --header 'Authorization: Bearer faketokenjskahdLDAKHDALjdj8287ew98ehsahdkkadjhk' \
  --header 'Content-Type: application/json' \
  --data '{"from_path":"/folder1","to_path":"/folder2/folder2.1"}'

每当我调用它时,我都会收到以下回复:

{
  "error_summary": "to/conflict/folder/...",
  "error": {
    ".tag": "to",
    "to": {
      ".tag": "conflict",
      "conflict": {
        ".tag": "folder"
      }
    }
  }
}

文档对响应中的特定关键词说了以下内容:

conflict :  Couldn't write to the target path because there was something in the way.

folder:  There's a folder in the way. 

怎么会有文件夹挡路?这甚至意味着什么?我不确定如何解决这个问题。

/move 端点的文档可以在 here 找到

【问题讨论】:

  • 我的假设是路径/folder2/folder2.1 处已经有一个文件夹。这不是真的吗?
  • folder2 中只有另一个文件夹 - folder2.2。但文件夹 2.1 内没有任何内容。会不会有干扰?
  • 我删除了文件夹 2.2 并重试了通话,但仍然收到相同的错误。唯一的其他文件夹是主目录中的文件夹 3,但这不应该导致问题。文件夹 2 有 2 个文件夹,文件夹 1 有 20 个 xml 文件,我想移动到 2.1 是空的
  • 好的 - 所以我删除了 folder2 并能够成功执行调用,但它并没有真正做到我想要的。我想将文件夹 1 的内容移动/剪切到文件夹 2.2,而不创建新文件夹,也不想删除文件夹 1(但删除文件夹 1 中的项目)。我是否需要对文件夹中的每个文件使用 /copy 和 /delete 来执行此操作?
  • Urg... 现在尝试使用 /copy 但仍然遇到相同的冲突错误!为什么我不能将我的文件复制到现有目录....

标签: dropbox-api


【解决方案1】:

通过请求文件夹 1/ 中的文件列表然后循环遍历每个文件并移动它们 from_path folder1/filename to_path folder2/folder2.1/filename 来实现这一点

我需要将文件名放在两个路径的末尾以避免任何冲突!

【讨论】:

  • 如果您能够将每个文件移动到“/folder2/folder2.1”而无需显式创建“/folder2/folder2.1”,这一定意味着“/”中的文件夹“folder2.1” folder2" 已经存在了,对吧?如果“folder2.1”已经存在,则错误似乎是正确的。
  • @brbob 是的,该文件夹已经存在。我的印象是该文件夹需要存在,因为 to_path 参数在文档中被描述为目标的路径。目的地通常是预定义的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-25
  • 1970-01-01
  • 2012-03-21
  • 1970-01-01
  • 2015-04-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多