Миграция файлов через Dropbox APi - PullRequest
0 голосов
/ 27 июня 2018

Я использую API Dropbox для переноса большого количества файлов из одной учетной записи Dropbox в другую. Кажется, это занимает от 2 до 7 секунд на файл. Существуют ли способы ускорить процесс перемещения файлов с помощью API-интерфейса dropbox?

source = dropbox.Dropbox('connectionstring')
target = dropbox.Dropbox('connectionstring')

list_folder = source.files_list_folder('')
while list_folder:
    files = re.findall(r'name=[\'"]?([^\'" >]+)', str(list_folder))
    for f in files:
        source.files_download_to_file(f,'')
        files = open(f,mode='rb')
        target.files_upload(files.read(),'')
        files.close()
        os.remove(f)
    list_folder = source.files_list_folder_continue(list_folder.cursor)

1 Ответ

0 голосов
/ 27 июня 2018

Да, вы можете копировать файлы или папки между учетными записями напрямую, без загрузки и повторной загрузки файлов, используя «Копировать ссылки». Это строки, которые идентифицируют контент в одной учетной записи и могут использоваться для копирования этого контента в другую учетную запись.

Чтобы получить ссылки на копии файлов или папок из исходной учетной записи, используйте / 2 / files / copy_reference / get:

https://www.dropbox.com/developers/documentation/http/documentation#files-copy_reference-get

Чтобы использовать эти ссылки на копии для сохранения файлов или папок в целевой учетной записи, используйте / 2 / files / copy_reference / save:

https://www.dropbox.com/developers/documentation/http/documentation#files-copy_reference-save

В качестве альтернативы, если по какой-то причине вы не можете использовать ссылки на копии, обязательно ознакомьтесь с Руководством по доступу к данным для получения информации о том, как более эффективно загружать файлы.

...