Box API 2.0 Set shared_link返回404

时间:2012-08-27 07:37:53

标签: box-api

最近我一直在玩Box.com的API 2.0版。

根据官方说明 this document,我可以为文件“成功”设置“访问”。

但是,如果我将其更改为“公司”或“协作者”,则服务器会返回一个回复,说明找不到HTTP 404,如下所示。

{
   "type":"error",
   "status":404,
   "code":"not_found",
   "help_url":"http:\/\/developers.box.com\/docs\/#errors",
   "message":"Not Found",
   "request_id":"609097837503b1dabc4d0c"
}

我无法弄清楚这条消息的确切含义“未找到”。

这是我发送的请求正文

{
   "shared_link":{
      "access":"Open",
      "permissions":{
         "download":true,
         "preview":true
      }
   }
}

这是返回错误的请求正文

{
   "shared_link":{
      "access":"company",
      "permissions":{
         "download":true,
         "preview":true
      }
   }
}

我想知道它是不应该做的事情,还是只是api中的一个错误。

提前感谢您的回复。

================================

对问题进行了一些更新。

我担心这不是案件相关的问题 虽然我看到它们时文档上的示例确实使用大写“打开”。

在我的情况下,使用“打开”或“打开”, 我可以毫无问题地成功设置sharelink。

但是,以下情况的行为对我来说有点奇怪。

案例1:将权限设置为属性(下载和预览)为false 将返回404 (只将其中一个设置为true可正常工作)

{
   "shared_link":{
      "access":"Open",
      "permissions":{
         "download":false,
         "preview":false
      }
   }
}

在以下情况中,为了说明目的,我首先将“访问”设置为“打开”。

案例2:将“访问权”设置为“协作者”会返回404未找到

案例3:为“协作者”设置“访问权限” 工作正常,但json响应未正确显示“访问”为“协作者”

以下是案例3的回复摘录,“访问”仍然是“开放”

    shared_link": {
    "url": "https://www.box.com/s/03a47eb4b7dce0439d7f",
    "download_url": "https://www.box.com/shared/static/03a47eb4b7dce0439d7f.pdf",
    "password_enabled": false,
    "unshared_at": null,
    "download_count": 0,
    "preview_count": 0,
    "access": "Open",
    "permissions": {
        "download": true,
        "preview": true
    }

“公司”与以前的案例似乎相同,所以我就此止步。

出于好奇,我设置了对文件中提到的任意字符的“访问”(我试过像“pp”,“c”,“test”这样的字样), 有趣的是服务器似乎全部返回200:好但是json响应仍然是“访问”:“打开”。相当混乱。

1 个答案:

答案 0 :(得分:2)

原来,"访问"参数区分大小写。我们现在已经解决了这个问题,所以" Open"和"打开"等都有效。

事实证明,你也暴露了一些围绕文件共享的棘手边缘案例。您可以设置一些安全设置,例如"文件夹属性:安全性"设置说"仅限于与协作者的共享链接。"

enter image description here

事实证明,如果您设置了此设置,则该API会调用以设置"访问"到"打开",我们将返回404.我们将努力使这个更具信息性的错误(如403,访问被拒绝)。

至于其他案件。

案例1:我们的网络ui限制您设置其中一些组合(例如download = false和preview = false),因为当我们构建共享功能时,我们并没有想到拥有一个不可下载的,不可预览的文件是有意义的。

案例2(以及案例3的一部分):设置为"协作者"或"合作者"现在应该工作正常。错误已修复。

案例3:设置为" co"或" foo"违反了#34; Open。​​"我们现在更改了它以返回错误(再次404)。

希望有所帮助。