无法从dropbox文件中获取文件修订版 - python SDK

问题描述 投票:0回答:1

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

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)))
python dropbox dropbox-api dropbox-sdk
1个回答
0
投票

files_list_revisions方法(以及其他files方法)仅用于与Dropbox文件/文件夹交互,而不是与Paper文档交互。

没有办法以编程方式检索Paper文档修订版,但我会将其作为功能请求传递。

© www.soinside.com 2019 - 2024. All rights reserved.