Dropbox Integration

Polar Sponsor
爱发电 赞助
.NET 9.0

只读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 内容不会因误操作而被修改。

前提条件

在使用本技能前,您需要完成以下准备:

  1. 一个Dropbox 账户(免费或付费均可)
  2. 一次Dropbox App 注册(耗时约 5 分钟)
  3. 从您的 Dropbox App 获取的App key 和App secret
  4. 已安装 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 设置中执行以下操作:

  1. 添加重定向 URI:http://localhost:3000/callback
  2. 复制您的App key 和App secret
  3. 在Permissions(权限)标签页中启用以下权限:
    • files.metadata.read
    • files.content.read
    • account_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

该命令将执行以下操作:

  1. 在浏览器中打开 Dropbox 授权页面
  2. 启动本地服务器用于接收授权码(authorization code)
  3. 使用授权码换取访问令牌(access token)和刷新令牌(refresh token)
  4. 将令牌安全地保存至 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 模块构建自定义自动化工作流。

工作原理

认证流程

  1. 初始配置:用户通过 OAuth 2.0 授权本应用
  2. 令牌存储:访问令牌与刷新令牌保存至 token.json
  3. 自动刷新:每次 API 调用前检查令牌是否需刷新
  4. 无缝访问:在令牌过期前 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 账户所拥有的具体权限

安全最佳实践

  1. 切勿提交凭据:credentials.json 与 token.json 均已列入 .gitignore
  2. 文件权限:令牌文件以 0600 模式(仅所有者可读写)保存
  3. 应用专属令牌:每个应用拥有独立令牌(可随时单独撤销)
  4. 最小权限原则:仅申请实际所需的权限范围
  5. 令牌轮换:刷新令牌将自动轮换

参考资料

参考文档

  • 配置指南 — 含截图的详细分步说明
  • 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 状态管理及并发用户的错误处理机制。

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.3万人学习