0

我正在使用 /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
4

1 回答 1

2

看起来您的代码self.cursor = delta['cursor']在应该使用self.cursor = delt['cursor'].

于 2013-07-19T23:16:50.480 回答