只读Dropbox集成,支持浏览、搜索和下载Dropbox文件。包含自动OAuth令牌刷新、安全凭证存储和详细设置指南。适合在OpenClaw中访问Dropbox文件,无需写入权限。
Dropbox Integration
功能概述
Dropbox Integration是一项面向实际任务的技能,主要用于Overview. 此技能提供只读权限访问您的 Dropbox 账户, 允许您浏览文件夹, 搜索文件, 并从 OpenClaw 下载内容;它使用 OAuth 2.0 au。
核心要点
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
使用与执行
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
Dropbox 集成
概述
本技能提供对您的 Dropbox 账户的只读访问权限,使您能够通过 OpenClaw 浏览文件夹、搜索文件以及下载内容。它采用 OAuth 2.0 认证机制,并支持自动刷新访问令牌,从而实现无缝的长期访问。
适用场景:在无需担心误修改或误删除的情况下,安全访问您的 Dropbox 文件。
功能特性
浏览文件与文件夹
- 列出 Dropbox 中任意文件夹的内容
- 查看文件大小与最后修改时间
- 遍历文件夹层级结构
搜索文件
- 基于文件名的全文检索
- 在 Dropbox 全局范围内查找文件
- 获取匹配文件的元数据及路径信息
下载文件
- 从 Dropbox 下载任意文件
- 保存至本地文件系统
- 支持批量下载
自动令牌管理
- 使用 OAuth 2.0 认证并配套刷新令牌(refresh token)
- 自动刷新访问令牌(无需手动重新授权)
- 安全存储凭据
- 令牌过期处理具备 5 分钟缓冲期
安全与权限
本技能配置为只读访问,所需 Dropbox 权限范围(scopes)如下:
files.metadata.read— 读取文件/文件夹元数据files.content.read— 读取文件内容account_info.read— 读取账户信息
未包含的权限:
- ❌
files.content.write— 不可上传或修改文件 - ❌
files.metadata.write— 不可重命名或移动文件 - ❌
files.permanent_delete— 不可删除文件
该设计确保您的 Dropbox 内容不会因误操作而被修改。
前提条件
在使用本技能前,您需要完成以下准备:
- 一个Dropbox 账户(免费或付费均可)
- 一次Dropbox App 注册(耗时约 5 分钟)
- 从您的 Dropbox App 获取的App key 和App secret
- 已安装 Node.js,并包含
dropbox包(将自动安装)
配置耗时:约 10 分钟
详见《配置指南》获取分步说明。
快速上手
1. 创建 Dropbox App
访问 https://www.dropbox.com/developers/apps/create 创建新应用:
- API 类型:Scopes-based access(基于权限范围的访问)
- 访问类型:Full Dropbox(或选择 App folder 以限制访问范围)
- 应用名称:请使用唯一名称,例如 "OpenClaw-YourName"
2. 配置 OAuth
在您的 App 设置中执行以下操作:
- 添加重定向 URI:
http://localhost:3000/callback - 复制您的App key 和App secret
- 在Permissions(权限)标签页中启用以下权限:
files.metadata.readfiles.content.readaccount_info.read
3. 保存凭据
在技能目录下创建 credentials.json 文件:
{
"app_key": "your_dropbox_app_key_here",
"app_secret": "your_dropbox_app_secret_here"
}
重要提示:该文件已被加入 .gitignore,绝不会被提交至版本库。
4. 运行 OAuth 配置脚本
node setup-oauth.js
该命令将执行以下操作:
- 在浏览器中打开 Dropbox 授权页面
- 启动本地服务器用于接收授权码(authorization code)
- 使用授权码换取访问令牌(access token)和刷新令牌(refresh token)
- 将令牌安全地保存至
token.json
5. 测试连接
node test-connection.js
若成功,您将看到自己的 Dropbox 账户信息!
使用示例
浏览文件夹
# 列出根目录 node browse.js # 列出指定文件夹 node browse.js "/Documents" node browse.js "/Photos/2024"
输出示例:
📁 Listing: /Documents 📄 report.pdf (2.3 MB) - 2024-02-01 📄 presentation.pptx (5.1 MB) - 2024-01-28 📁 Projects 📁 Archive Total: 4 items
搜索文件
node search-files.js "budget 2024" node search-files.js "contract"
输出示例:
🔍 Searching for: "budget 2024" ✅ Found 3 matches: 📄 /Finance/budget-2024-q1.xlsx Size: 156.3 KB Modified: 2024-01-15T10:30:00Z 📄 /Reports/budget-2024-summary.pdf Size: 2.1 MB Modified: 2024-02-01T14:22:00Z
下载文件
# 下载至本地指定路径 node download.js "/Documents/report.pdf" "./downloads/report.pdf" # 下载至当前目录 node download.js "/Photos/vacation.jpg" "./vacation.jpg"
输出示例:
📥 Downloading: /Documents/report.pdf ✅ Saved to: ./downloads/report.pdf (2.3 MB)
与 OpenClaw 的集成
在 OpenClaw 中,您可通过 exec 工具运行这些脚本:
浏览文件:
Run: node /path/to/dropbox-integration/browse.js "/Documents"
搜索文件:
Run: node /path/to/dropbox-integration/search-files.js "contract"
下载文件:
Run: node /path/to/dropbox-integration/download.js "/path/in/dropbox" "./local/path"
您也可直接调用 dropbox-helper.js 模块构建自定义自动化工作流。
工作原理
认证流程
- 初始配置:用户通过 OAuth 2.0 授权本应用
- 令牌存储:访问令牌与刷新令牌保存至
token.json - 自动刷新:每次 API 调用前检查令牌是否需刷新
- 无缝访问:在令牌过期前 5 分钟自动刷新
令牌生命周期
- 访问令牌(Access Token):短期有效(通常为 4 小时)
- 刷新令牌(Refresh Token):长期有效(除非被主动撤销,否则永不过期)
- 自动刷新:由
dropbox-helper.js透明完成 - 刷新缓冲期:提前 5 分钟刷新,避免边界情况
文件结构
dropbox-integration/
├── SKILL.md # 本文档
├── dropbox-helper.js # 支持自动刷新的 Dropbox 客户端封装
├── setup-oauth.js # OAuth 配置脚本
├── browse.js # 浏览文件夹
├── search-files.js # 搜索文件
├── download.js # 下载文件
├── test-connection.js # 认证测试脚本
├── credentials.json.example # 凭据模板文件
├── .gitignore # 排除 credentials.json 和 token.json
└── references/
└── setup-guide.md # 详细配置指南(含截图)
故障排查
"credentials.json not found"(未找到 credentials.json)
请按快速上手第 3 步说明,创建包含 Dropbox App key 和 secret 的 credentials.json 文件。
"Token refresh failed"(令牌刷新失败)
您的刷新令牌可能已被撤销。请重新运行 node setup-oauth.js 完成重新授权。
"Permission denied"(权限拒绝)错误
请确认已在 Dropbox App 控制台的 Permissions 标签页中启用了必需的权限项。
"redirect_uri_mismatch"(重定向 URI 不匹配)
请确认已在 Dropbox App Console 中将 http://localhost:3000/callback 添加至应用的重定向 URI 列表。
OAuth 配置卡住
若本地服务器未能捕获重定向,请在浏览器完成授权后,手动复制完整 URL,并从中提取 code= 参数值。
限制条件
- 只读限制:不可上传、修改或删除文件(设计使然)
- 文件大小:单次下载实际限制约为 150MB(受 Dropbox API 约束)
- 速率限制:Dropbox API 存在速率限制(个人使用通常不受影响)
- 共享文件夹:访问能力取决于您的 Dropbox 账户所拥有的具体权限
安全最佳实践
- 切勿提交凭据:
credentials.json与token.json均已列入.gitignore - 文件权限:令牌文件以 0600 模式(仅所有者可读写)保存
- 应用专属令牌:每个应用拥有独立令牌(可随时单独撤销)
- 最小权限原则:仅申请实际所需的权限范围
- 令牌轮换:刷新令牌将自动轮换
参考资料
参考文档
- 配置指南 — 含截图的详细分步说明
- Dropbox API 文档
- OAuth 2.0 指南
Dropbox 开发者资源
- App Console — 管理您的应用
- API Explorer — 在线测试 API 请求
- SDK 文档 — JavaScript SDK 参考手册
高级用法
使用 Helper 模块
如需构建自定义集成,可直接引入 helper 模块:
const { getDropboxClient } = require('./dropbox-helper');
async function myCustomFunction() {
const dbx = await getDropboxClient(); // 自动刷新的客户端
// 可调用任意 Dropbox SDK 方法
const response = await dbx.filesListFolder({ path: '/Photos' });
console.log(response.result.entries);
}
该 helper 模块自动处理令牌刷新,您无需关心过期问题。
批量操作
按顺序下载多个文件:
const { getDropboxClient } = require('./dropbox-helper');
const fs = require('fs').promises;
async function downloadMultiple(files) {
const dbx = await getDropboxClient();
for (const file of files) {
const response = await dbx.filesDownload({ path: file.dropboxPath });
await fs.writeFile(file.localPath, response.result.fileBinary);
console.log(`Downloaded: ${file.dropboxPath}`);
}
}
依赖项
本技能依赖 dropbox npm 包:
npm install dropbox
当您通过 ClawHub 安装本技能时,该包将自动安装。
许可证
MIT 协议 — 免费使用、修改与分发。
支持
如遇问题或疑问,请参考以下途径:
- 查阅《配置指南》获取详细操作说明
- 参考 Dropbox API 文档排查 API 错误
- 在本技能的代码仓库中提交 Issue
注意:本技能面向个人使用场景设计。对于面向多用户的生产级应用,请考虑实现完整的 OAuth 流程,包括 state 状态管理及并发用户的错误处理机制。
热门AI工具
相关专题
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章