You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过脚本或工具批量获取Dropbox文件版本历史?

批量导出Dropbox文件历史版本的解决方案

核心方案:使用Dropbox官方Python SDK

Dropbox API确实支持获取文件历史版本并批量下载,以下是具体实现步骤:


1. 前期准备

  • 登录Dropbox开发者平台,创建一个Scoped App
  • 为应用添加以下权限:files.content.read、files.metadata.read
  • 生成并复制你的访问令牌(如果是校园团队账户,需联系管理员确认应用权限已获批)
  • 安装Dropbox Python SDK:
    pip install dropbox
    

2. 批量下载代码实现

import dropbox
from datetime import datetime
import time

# 替换为你的访问令牌和目标文件路径
ACCESS_TOKEN = '你的Dropbox访问令牌'
TARGET_FILE_PATH = '/path/to/your/target/file'  # 比如 '/data/metrics.csv'

# 初始化Dropbox客户端
dbx = dropbox.Dropbox(ACCESS_TOKEN)

# 批量获取所有版本历史(处理分页)
all_versions = []
pagination_cursor = None

while True:
    if pagination_cursor:
        revision_result = dbx.files_list_revisions_continue(pagination_cursor)
    else:
        # 每次请求最多返回100条版本,可根据需求调整
        revision_result = dbx.files_list_revisions(TARGET_FILE_PATH, limit=100)
    
    all_versions.extend(revision_result.entries)
    if not revision_result.has_more:
        break
    pagination_cursor = revision_result.cursor
    time.sleep(0.5)  # 避免触发API速率限制

# 批量下载每个版本
file_name_base = TARGET_FILE_PATH.split('/')[-1].split('.')[0]
file_ext = TARGET_FILE_PATH.split('.')[-1]

for index, version in enumerate(all_versions):
    # 用时间戳和版本ID生成唯一文件名,防止覆盖
    modified_timestamp = version.server_modified.strftime('%Y%m%d_%H%M%S')
    save_file_name = f"{file_name_base}_{modified_timestamp}_{version.rev}.{file_ext}"
    
    try:
        # 根据版本ID下载对应文件
        _, file_response = dbx.files_download(TARGET_FILE_PATH, rev=version.rev)
        with open(save_file_name, 'wb') as f:
            f.write(file_response.content)
        print(f"完成下载: {index+1}/{len(all_versions)} - {save_file_name}")
    except Exception as e:
        print(f"下载失败(版本ID: {version.rev}): {str(e)}")
    time.sleep(0.5)

3. 关键说明

  • files_list_revisions 是获取文件版本历史的核心API,支持分页处理大量版本数据
  • files_download 方法通过指定rev参数,可直接下载对应版本的文件
  • 文件名用修改时间+版本ID命名,确保每个版本的文件唯一
  • 添加短暂延迟避免触发Dropbox API的速率限制

内容的提问来源于stack exchange,提问作者Mengyang Cao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 16:12:18