【问题标题】:Box file download requires file_id?Box文件下载需要file_id?
【发布时间】:2014-01-22 05:20:32
【问题描述】:

(我对 Web 开发还很陌生,所以请原谅任何明目张胆的无知)

我想知道为什么 Box 的 API 需要 downloading a file 的 file_id?

在他们的Getting started指南中,我们看到他们首先上传文件,获取上传文件的file_id,并在GET请求中使用该文件下载文件。

但是,为什么没有办法按名称下载文件?即通过顶级框目录的路径?

就上下文而言,我只是在使用 box API 并尝试查看是否可以将文件从远程 box 目录下载到某个本地目录。

【问题讨论】:

    标签: box-api


    【解决方案1】:

    如果您的主要世界是单个用户的文件集,则按名称下载文件就可以了。但是在 Box 中,您通常最终会有几个人、几十人或几百人都可以访问目录结构和文件。

    按名称下载的问题在于,项目管理部门的 John 在周末决定该项目已经扩大,或者您已经完成了需求收集阶段,为了保持所有文档井井有条,将创建一个新的子文件夹并在那里移动东西。哦,他将重命名项目文件夹,因为团队决定了一个新的代号。

    如果您尝试按路径或文件名下载文件,该文件将突然不知道从哪里获取,您会很困惑。或者至少您编写的任何想要检查该文件的软件都是。当文件(和文件夹)都具有不变的固定 ID 时,John 进行大规模重组并不重要。如果您创建了一个带有指向该文档的链接的 wiki 页面,或者您编写了一些程序从存储在 John 的一个文件夹中的电子表格中提取内容,那么您的程序仍然可以工作。即使其他人移动、重命名或上传文件的新版本,文件 ID 也会保持不变。

    【讨论】:

    • Box API 还应该能够处理用于上传/下载的文件夹或文件的路径。对于每个被锁定的业务部门,我们都有一组文件夹。我们还有 3 种不同的环境(Dev、Test 和 Prod)。如果没有基于路径的 API 调用,我必须将 Box 文件夹 ID 存储在我的数据库中。如果我将 Prod db 拉回来进行测试,你猜怎么着?所有的id都是错误的。而如果 API 处理路径,我可以将根路径放在 web.config 中并将 NOTHING 存储在 db 中,或者我可以击败从根 id 沿着文件夹结构向下走的 Box 服务器。
    • 必须有一些系统范围的设置来将文件名设置为唯一的,因为我的应用程序仅通过文件名向 Box 端点发送和检索文件。如果我尝试 PUT 一个已经存在的文件名,Box 会以错误响应。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    • 2018-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多