4

我正在使用 Box v2.0 api 将 Box 集成到 iOS 应用程序中。

我遇到的第一个问题是“文件夹”api 请求对“条目”的 API 调用的响应太有限了。api 当前为每个文件夹“条目”返回的内容类似于:

"entries" : 
[
    {
        "sequence_id": "0",
        "type": "file",
        "id": "2631999573",
        "name":"IMG_1312.JPG"
    },
    {
        "type":"folder",
        "id":"2305623799",
        "sequence_id":"1",
        "name":"a child folder"
    }
]

这意味着要检索子条目的基本元数据(大小、修改日期等),我必须为每个项目发出 REST 请求。这显然是非常低效的。

有没有办法在“文件夹/”响应中获得更丰富的元数据?可以通过在请求中提供合适的查询来过滤它。例如

GET /folders/980980989?fields=name,id,type,size,modified_at
4

2 回答 2

4

@auny

这是非常非常低效的。例如,我们的 iOS 应用程序是一个文件查看器 - 当用户导航到 Box 目录时,他们会看到该目录中所有文件的列表(在表格视图中)。该视图由存储基本文件元数据(名称、大小、修改日期等)的本地“模型”备份。每个文件显示其名称、大小和修改日期。

使用 v2 api Box 期望我们对目录中的每个文件(可能是 100、1000 或更多)进行单独的 REST api 调用,以确定大小和修改日期。这对于移动应用程序来说是非常低效的。

不要忘记,通常使用移动设备的延迟(而不是带宽)会影响性能。好吧,带宽可能也不是很好,但是 100 次 REST 调用的延迟将是一个主要问题。

1 次 REST 调用来确定目录的基本元数据,即使这需要在响应中增加几 KB,也比 100 次单独的 REST 调用要好得多。

文件夹响应已经为每个目录条目提供了一些元数据,包含其他字段并不难,即使这些字段只能通过请求获得。

疯狂的。

于 2012-08-01T12:12:09.693 回答
-1

是的,您必须查询每个子项才能在 V2 中获取其信息。没有其他方法

于 2012-07-31T18:38:41.003 回答