Проблемы с получением файловых изменений из бумаги 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, а не с бумажными документами.

Нет способа программно получить редакции бумажного документа, но я передам это как запрос функции.

Другие вопросы по тегам