Drive Sync 架构:URL、Scopes 与审计

面向开发者的 Drive Sync URL、账户与邮箱树、scopes、WebDAV、设备密码、分块上传及审计参考。

文章详情

类型、难度、套餐及最近更新信息。

类型
参考资料
难度
中级
套餐
Nano · Starter · Pro · Agency
最近更新
2026年9月10日

这是面向开发者的 Drive Sync 参考。适用于将同步访问与 REST API 或 MCP server 集成、基于 TrekMail Drive 构建工具,或审计 WebDAV 外观如何强制执行权限。

如果只想将 rclone 或 Finder 连接到 Drive,请从 Drive Sync 概述开始。

Drive Sync 是什么

Drive Sync 是 TrekMail Drive 的 WebDAV 接口。兼容的同步应用可通过独立设备密码和选定权限,访问控制面板与网页邮箱中相同的文件。

接口在固定前缀下使用标准 WebDAV 方法。客户端支持程度不同,因此在用于生产迁移或备份前,请先用一次性文件夹测试所需操作。

URL 布局

Drive URL 针对部署生成,并显示在 Sync devices 中。请复制该 URL,不要根据控制面板域名自行构造。路径以 /dav/files/ 开头:

https://YOUR-DRIVE-HOST/dav/files/

该根目录下有账户树和邮箱树。密码可以打开的内容同时取决于邮箱绑定与所选权限。

账户级树

/dav/files/account/
    ├── (top-level account-drive folders the dashboard shows)
    └── (top-level files at the account-drive root)

这是控制面板中的 Account Drive。不受单个邮箱限制的密码在具备账户 Drive 权限时可以查看此树。

邮箱范围树

/dav/files/mailbox-{N}/
    ├── (the mailbox's personal Drive files and folders)
    └── Shared/
        ├── (account-drive folders flagged "shared with all mailboxes")
        └── ...

设备密码限制为单个邮箱时,只能看到该邮箱的个人树。如果邮箱有个人 Drive 访问权限且账户有共享文件夹,Shared/ 集合会显示与所有邮箱共享的账户文件夹。

限制为单个邮箱的密码看不到 Account Drive 或其他邮箱。不受邮箱限制的密码可以列出账户的 Drive 空间,但每个路径仍需要匹配的账户或邮箱权限。

创建设备密码

可从控制面板的 Sync devices 创建密码,也可在网页邮箱中为当前邮箱创建。控制面板可创建账户级密码或限制到一个邮箱;网页邮箱只能为当前登录邮箱创建。

使用清晰标签,只选择应用所需权限,并为临时连接设置到期时间。密钥只显示一次,请在关闭确认屏幕前保存到应用或密码管理器。

可随时撤销设备密码,而不更改常规 TrekMail 登录密码。已撤销或过期的密码会立即停止工作。

使用设备密码登录

同步通过 HTTPS 使用 HTTP Basic。输入 Sync devices 上显示的用户名及生成的设备密码。不要在同步应用中使用 TrekMail 控制面板密码。

密码撤销或过期后,应用通常会再次请求凭据。每次请求都会检查账户状态、邮箱访问权限、Drive 访问权限和所选权限。

Scope 模型

Drive Sync 使用与 REST API 相同的 scope 字符串,格式为 drive:{family}:{action}。设备密码适用以下八项:

Scope 操作
drive:account:read 列出并下载账户 Drive 树中的文件
drive:account:write 在账户 Drive 树中上传、重命名、移动文件或移入 Trash
drive:account:share 为账户 Drive 文件生成公开下载链接
drive:account:purge 永久删除账户 Drive 文件并绕过 Trash
drive:mailbox:read account:read 相同,但用于邮箱范围树
drive:mailbox:write account:write 相同,但限于邮箱范围
drive:mailbox:share account:share 相同,但限于邮箱范围
drive:mailbox:purge account:purge 相同,但限于邮箱范围

读取路径需要匹配的 :read 权限;创建、更改、移动、复制或删除需要 :write。路径决定应用请求账户还是邮箱访问,因此单邮箱密码无法到达 Account Drive 或其他邮箱。

Sync devices 屏幕只提供适合同步应用的权限。Billing permissions 不属于设备密码。

Share 与 purge 权限

账户有权使用时,设备密码表单可显示 :share:purge。当前 WebDAV 路由 guard 仅将文件操作映射到 :read:write,因此不要假定选择前两项会添加 WebDAV 共享链接或永久删除命令。

常规 WebDAV DELETE 需要 :write,并将文件移到 Trash。WebDAV 不提供原位文件替换或永久清除操作,请使用 Drive 界面完成这些任务。

文件名安全

文件与文件夹名称必须适用于不同操作系统。空名称、路径分隔符、控制字符、误导性文件名字符,以及经 Windows 或 Unicode 规范化后冲突的名称都会被拒绝。名称最多可有 255 个可见字符。

应用收到验证错误时,请在应用中重命名项目后重试。不要通过在文件名中放入路径来绕过错误。

分块上传

小文件可使用普通 PUT。支持 Nextcloud chunked-upload v2 的客户端可在 /dav/uploads/{session-uuid}/ 下创建上传会话,上传带编号的分块,再使用 MOVE 在最终位置组装文件。

上传限制可能因部署和客户端而异。将失败或过期会话视为新的上传尝试。如果其他客户端先创建了目标,请根据冲突响应选择新名称,或刷新文件夹后重试。

审计记录

通过 Sync 成功执行的更改会显示在 Drive 活动历史中。记录标识受影响项目、操作、时间和所用设备密码,管理员可调查异常更改并撤销相应密码。

使用 Drive change feed 的客户端可看到 WebDAV 产生的更改。如果服务要求完全重新同步,请先根据新快照重建本地视图,再继续使用保存的 cursor。

速率限制

Drive Sync 请求受速率限制,以保护服务和文件。客户端收到 429 时,应降低 concurrency,提供时遵循 Retry-After,先重试一个小操作再恢复任务。

可用性

Drive Sync 已在 production 中可用。账户必须有 Drive 访问权限,可用设备密码权限仍取决于账户、邮箱、套餐及创建密码的人。White Label 客户使用相同服务。始终从 Sync devices 复制当前 URL,不要自行构造。

后续阅读

相关文章

跳转到延续此工作流的邻近指南。

我们使用运行和保护 TrekMail 所必需的技术。确认后还会允许《Cookie 政策》中所述的有限分析和广告衡量。

登录 TrekMail

访问您的控制面板、邮箱和 DNS。

12 个字符 两次密码一致

重置邮件已发送

如果该邮箱对应已有账户,我们已发送密码重置说明。

继续即表示您同意 TrekMail 的 服务条款隐私政策.