Dropbox API list_folder/continue无法获取子文件夹内更新文件问题
Dropbox API list_folder/continue无法获取子文件夹更新的排查方案
- 检查初始
list_folder接口的recursive参数配置。这个参数默认值为false,仅返回指定路径下第一层级的文件变更,只有将其设置为true,才会递归拉取所有子文件夹的内容变更。list_folder/continue接口会完全继承初始调用list_folder时的参数配置,不会单独生效递归逻辑。
正确的初始
list_folder请求参数示例:{ "path": "", "recursive": true, "include_media_info": false, "include_deleted": false, "include_has_explicit_shared_members": false }
- 核对初始
list_folder接口的path参数配置。如果调用时未将path设为空字符串(空字符串代表账号根目录),而是指定了某个子目录路径,后续list_folder/continue只会返回该指定路径下的变更,无法获取其他子文件夹的内容。 - 校验cursor的来源合法性。你当前调用
list_folder/continue使用的cursor,必须是由开启了recursive=true、path为空的list_folder接口响应返回的,且cursor没有过期、没有被其他不同参数的接口返回值覆盖。 - 排查本地结果过滤逻辑是否存在问题。子文件夹下的文件返回时会携带完整路径(例如
/子文件夹名/文件名),需确认你的代码没有做仅保留根目录文件(例如仅匹配路径仅包含1个/前缀的条目)的过滤规则,误筛掉了子文件夹的变更条目。 - 检查分页拉取逻辑是否完整。如果账号内变更条目较多,
list_folder/continue接口会分页返回结果,响应体中的has_more字段会为true,需要你携带返回的新cursor循环调用接口拉取所有分页内容,避免子文件夹的变更条目落在未拉取的后续分页中。 - 做最小场景验证。手动在目标子文件夹内新增一个测试文件,先调用一次参数为
path=""、recursive=true的list_folder接口拿到最新cursor,再用该cursor调用list_folder/continue,确认是否能返回对应测试文件的变更记录,排除接口本身故障的可能性。
内容的提问来源于stack exchange,提问作者Mansi
相关产品推荐
相关产品推荐

