我正在使用适用于Dropbox的python SDK来更新“ Dropbox Paper”文档。为了实现这一点,我需要能够获取最新的文件修订号。
可以使用files_list_revisions
完成此操作,但我无法使其正常工作。我花了数小时进行故障排除,但我全然不知所措。我正在尝试使用doc id而不是根据文档可能出现的文件路径来获取修订。据我所知,Dropbox Paper文件没有文件路径,因此使用doc id是唯一的方法。
当前我的代码如下:
import dropbox
from dropbox.files import ListRevisionsMode
dbx = dropbox.Dropbox('YOUR_ACCESS_TOKEN')
dbx.files_list_revisions('my_doc_id', mode=ListRevisionsMode('my_doc_id'))
这将返回AssertionError: Invalid tag
我也尝试过
dbx.files_list_revisions('my_doc_id', mode=ListRevisionsMode.id)
返回
dropbox.stone_validators.ValidationError: 'my_doc_id' did not match pattern '/(.|[\r\n])*|id:.*|(ns:[0-9]+(/.*)?)'
目标是获取最新的修订号,然后使用来更新Paper文档
dbx.paper_docs_update(data_to_append, 'append', revision_num, 'plain_text')
更新:
我从第二个错误中读取了正则表达式模式,看来文件ID应该像这样id:my_doc_id
我进行了更正,并得到了一个新的错误。
dropbox.exceptions.ApiError: ApiError('my_doc_id', ListRevisionsError('path', LookupError('not_found', None)))
答案 0 :(得分:0)
files_list_revisions
方法(以及其他files
方法)仅用于与Dropbox文件/文件夹交互,而不用于与Paper文档交互。
无法以编程方式检索Paper文档修订版,但我会将其作为功能要求传递。