我使用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请求。这显然效率很低。
有没有办法在"文件夹/"中获得更丰富的元数据?响应?可以通过在请求中提供合适的查询来过滤它。 e.g。
GET /folders/980980989?fields=name,id,type,size,modified_at
答案 0 :(得分:4)
@auny
这非常非常低效。例如,我们的iOS应用程序是一个文件查看器 - 当用户导航到Box目录时,他们会看到该目录中所有文件的列表(在表格视图中)。视图由本地“模型”备份,该模型存储基本文件元数据(名称,大小,修改日期等)。每个文件都显示它的名称,大小和修改日期。
使用v2 api Box期望我们为目录中的每个文件(可能是100s,1000s或更多)进行单独的REST api调用,以确定大小和修改日期。这对于移动应用来说效率非常低。
不要忘记通常使用移动设备会影响性能的延迟(而不是带宽)。好吧,带宽可能也不是很好,但是100次REST调用的延迟将是一个主要问题。
1个REST调用来确定目录的基本元数据,即使在响应中需要更多的KB,也比100个单独的REST调用要好得多。
文件夹响应已经为每个目录条目提供了一些元数据,包含其他字段并不困难,即使这些字段仅在请求时可用。
疯狂。
答案 1 :(得分:-1)
是的,您必须查询每个子项以获取其在V2中的信息。没有其他方式