我们需要一种在我们的自定义集成中模仿BIM 360 Docs文件管理器的方法,并且为此使用Forge API不会成功。我们正在尝试使用一个API调用来检索给定文件夹的子文件夹列表。
我们现在正在尝试的方法是使用带有过滤器的端点
/ data / v1 / projects / {{ProjectId}} / folders / {{FolderId}} / contents?filter [extension.type] = folders:autodesk.bim360:Folder
这种方法有一个问题。长话短说,这是非常无效的。由于过滤器是在分页之后应用的(为什么?),因此必须遍历结果集中的所有页面,以便在给定文件夹中找到所有子文件夹。查询其中包含很多项目的文件夹时,这可能需要很长时间,并且通常需要多次往返服务器。对该端点的每次调用平均需要700毫秒,如果我们要多次调用此端点,则此时间过长。
另一方面,BIM 360 Docs Web应用程序内部API使用的终结点仅在一次调用中完成,并且通常在300ms以内。
两个问题:
答案 0 :(得分:0)
您是否尝试过使用page[limit]
参数?列出文件夹时,您最多可以使用200
,这将大大减少您对其他呼叫的需求。
根据您的问题,基于documentaiton,我进行了以下测试:
/data/v1/projects/:project_id/folders/:folder_id/contents?filter[extension.type]=folders:autodesk.bim360:Folder&page[limit]=200
我建议不要使用未记录的端点,这些端点可能会更改,恕不另行通知。