api docs中的files / list _folders方法对于cursor参数的描述有以下内容:
光标 - 将光标移至list_folder /继续查看自上一次查询以来文件夹中的更改内容。
has_more - 如果为true,则可以使用更多条目。将光标传递给list_folder /继续检索其余部分。
https://www.dropbox.com/developers/documentation/http/documentation#files-list_folder
那是什么?如果我再次请求list_folders_continue传递令牌,我是否要求另一页结果或更改文件夹?如果我要求另一页结果,那么应用的限制是多少?我可以控制吗?
文档在共享下也有list_folder方法,它似乎有更精确的游标定义和对limit参数的支持 https://www.dropbox.com/developers/documentation/http/documentation#sharing-list_folders
文件下的方法也会有吗?
答案 0 :(得分:3)
那是什么?如果我再次请求list_folders_continue传递令牌,我是否要求另一页结果或更改文件夹?
两者都是。 / files / list_folder / continue端点既用于返回其他项目页面,也用于将来进一步更新。
/ files / list_folder [/ continue]返回的每个页面大小有限,但没有保证限制,也无法控制该限制。您的应用应该始终检查has_more
并回复/ files / list_folder / continue,如果它是true
。
此外,端点/files/list_folder和/sharing/list_folders是具有不同功能的不同端点。
/ files / list_folder端点记录为:
返回文件夹的内容。
/ sharing / list_folders端点记录为:
返回当前用户有权访问的所有共享文件夹的列表。
两个端点使用不同的游标,分别用于/files/list_folder/continue和/sharing/list_folders/continue。
答案 1 :(得分:3)
那是什么?如果我再向list_folders_continue发出请求 传递令牌,我请求另一页结果或 更改文件夹?如果我要求另一页结果, 应用的限制是多少?我可以控制吗?
我自己的试验和错误实验已经确定Greg发布的“它是两个”的答案是不正确的。具体来说,正确的答案是“它要么”。有关详细信息,请参见下文。
当您调用files/list_folder
并返回整个内容列表(has_more
值为false
)时,返回的光标适用于监视指定路径的后续更改将该光标传递给files/list_folder/continue
。
如果files/list_folder
返回多个内容页面中的第一个(has_more
值为true
),则返回的光标适合通过传递它来获取下一页内容到files/list_folder/continue
。此光标不适合监视更改(自己尝试,您可以使用该光标多次调用continue,并始终获得第二页内容)。
从文档中不完全清楚,但是当从files/list_folder/continue
获取内容页面时,每个调用都将返回一个新游标,并且必须将新游标传递给后续调用files/list_folder/continue
为了得到下一页。您必须以这种方式将游标链接在一起,直到获得最后一页(has_more
为false
)。
在files/list_folder/continue
的最后一次调用中返回的光标随后可用于files/list_folder/continue
的后续调用,以监控第一次调用files/list_folder
时指定的原始路径的更改。
因此,光标或者适合监视更改(当返回时has_more
值为false
)或者它适合于获取后续内容页面(当它返回时) has_more
的{{1}}值,无论产生光标的调用是true
还是files/list_folder
,都不是两者都有。