我知道這在this post已被觸及,但我希望對此進行一些額外的說明。Dropbox API,重命名和唯一ID
目前,使用Dropbox Core API,似乎沒有辦法跟蹤已重命名的文件。例如,如果您使用API將Dropbox app_folder與本地應用程序目錄同步。您的Dropbox的一側的文件重命名,然後調用delta
就看你如何更新您的本地應用程序目錄,您將返回兩個條目...
array(
0 => '/somefile.txt',
1 => null
),
array(
0 => '/somefile-renamed.txt',
1 => array(
'revision' => 343
'rev' => 'd90se4c661'
'thumb_exists' => false
'bytes' => 1263
'modified' => 'Tue, 09 Apr 2013 19:06:39 +0000'
'client_mtime' => 'Tue, 09 Apr 2013 18:43:06 +0000'
'path' => string '/somefile-renamed.txt'
'is_dir' => false
'icon' => 'page_white_text'
'root' => 'app_folder'
'mime_type' => 'application/octet-stream'
'size' => '1.2 KB'
)
)
對於每個返回數組,第一個元素是文件需要更新,第二個元素是文件元數據信息。如果第二個元素是null
,則應刪除該文件的本地版本(及其下的任何內容,如果它是目錄的話)。
因此,在上面的例子中,它告訴你刪除第一個文件並上傳這個全新的文件。不幸的是,沒有辦法跟蹤你被告知創建的這個新文件實際上只是你要刪除的文件的重命名版本。從您的應用程序的角度來看(非Dropbox方面),它看起來像是一個海峽刪除和一個新文件進來。
如果您將數據存儲在其他地方的這些文件中(如在數據庫中),您需要更新記錄而不是創建新記錄並刪除舊記錄。
是否有一些可接受的方式來重命名後跟蹤文件關聯?我似乎無法找到使用元數據,增量或修訂版的方法。
是的,有一點我試圖通過存儲文件內容的散列來確定,但它感覺非常噁心,所以我[退縮](http://www.youtube.com/watch?v=2iE4uEsaBF0&feature= youtu.be&t = 10s)。 – wlvrn 2013-04-11 14:30:43
API有一個'move'方法:https://www.dropbox.com/developers/core/docs#fileops-move用它做什麼你會=) – Rudie 2013-12-23 18:53:33