我正在使用 /delta 功能来查找 Dropbox 帐户中是否有任何更改。
当我第一次运行它时(直到 'has_more' 变为 False),这很好。但是当我再次运行它时(使用上一次调用的光标),它会显示一个文件列表。我再次运行它(不更改任何文件),我仍然得到相同的文件列表(尽管它们没有更改)。我认为这些文件位于共享文件夹中。我使用该文件夹中的一组新文件再次进行了测试,得到了相同的结果——这些文件显示在增量条目中,尽管它们没有被更改。
怎么了?
我觉得这是一个错误。有什么办法绕过它?
编辑:这是代码
def getDeltaEntries(self): #this function is a method of a class
def _getDelta():
delta = self.client.delta(self.cursor)
entries = delta.get('entries')
has_more = delta.get('has_more')
self.cursor = delta['cursor']
while has_more:
delt = self.client.delta(self.cursor)
entries.extend(delta.get('entries'))
has_more = delt.get('has_more')
self.cursor = delta['cursor']
return entries
#workaround: query for delta twice and if the result is the same both times,
#it implies there's no change
ent1 = _getDelta()
ent2 = _getDelta()
if ent1 == ent2:
entries = []
else:
entries = ent1
return entries