Проблемы с получением файловых изменений из бумаги Dropbox - Python SDK
Я использую Python SDK для Dropbox, чтобы обновлять документы "Dropbox Paper". Для этого мне нужно иметь возможность получить номер последней версии файла.
Это можно сделать с помощью files_list_revisions
но я не могу заставить его работать. Я потратил много времени на устранение неисправностей и я в полной растерянности. Я пытаюсь получить ревизии, используя идентификатор документа вместо пути к файлу, который представляется возможным в соответствии с документацией. Насколько мне известно, файлы Dropbox Paper не имеют путей к файлам, поэтому использование идентификатора документа - единственный путь.
в настоящее время мой код выглядит так...
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:my_doc_id
Я сделал это исправление и получил новую ошибку.
dropbox.exceptions.ApiError: ApiError('my_doc_id', ListRevisionsError('path', LookupError('not_found', None)))
1 ответ
files_list_revisions
метод (а также другие files
методы), предназначены только для взаимодействия с файлами / папками Dropbox, а не с бумажными документами.
Нет способа программно получить редакции бумажного документа, но я передам это как запрос функции.