dropbox
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDropbox
Dropbox
<!-- BEGIN:skill-intro -->
Tools for working with files and folders in Dropbox — upload and write files, organize (move/copy/delete/create folders), navigate and search, read file contents, create and modify shared links, manage shared-folder membership, and create file requests. Wraps the Dropbox API v2 (, with uploads/downloads on ). Read-only tools are clearly marked; write tools return clean file/folder metadata rather than silently attaching links or contents.
<!-- legal:disclaimer -->
https://api.dropboxapi.com/2/<namespace>/<method>https://content.dropboxapi.comIndependent, unofficial connector for Dropbox. Not affiliated with, endorsed by, or sponsored by Dropbox. "Dropbox" is a trademark of its owner, used only to identify the service this connector works with.
<!-- /legal:disclaimer -->
<!-- END:skill-intro --><!-- BEGIN:skill-intro -->
用于在Dropbox中处理文件和文件夹的工具——支持上传和写入文件、整理(移动/复制/删除/创建文件夹)、导航与搜索、读取文件内容、创建和修改共享链接、管理共享文件夹成员以及创建文件请求。封装了Dropbox API v2(接口地址为,上传/下载操作使用)。只读工具会被明确标记;写入工具会返回清晰的文件/文件夹元数据,而非静默附加链接或内容。
<!-- legal:disclaimer -->
https://api.dropboxapi.com/2/<namespace>/<method>https://content.dropboxapi.com这是独立的非官方Dropbox连接器,与Dropbox无关联、未获其认可或赞助。“Dropbox”是其所有者的商标,仅用于标识本连接器所适配的服务。
<!-- /legal:disclaimer -->
<!-- END:skill-intro -->When to use this
适用场景
<!-- BEGIN:skill-use-cases -->
- An agent needs to save, move, copy, rename, or delete files and folders in Dropbox.
- An agent needs to find a file or folder (by name or content) or list a folder's contents before acting on it.
- An agent needs to read a text file's contents inline, or hand off a file's bytes via a temporary or durable link.
- An agent needs to share a file/folder, change link settings, or manage who can access a shared folder.
<!-- BEGIN:skill-use-cases -->
- Agent需要在Dropbox中保存、移动、复制、重命名或删除文件和文件夹时。
- Agent需要查找文件或文件夹(按名称或内容),或在操作前列出文件夹内容时。
- Agent需要直接读取文本文件内容,或通过临时或持久化链接传递文件字节时。
- Agent需要共享文件/文件夹、修改链接设置,或管理共享文件夹的访问人员时。
Setup
设置步骤
This is an agentskills.io skill.
If the connector has not been installed as a skill yet, install it first with (or your harness's own skill-install mechanism), then continue here. Installing the skill copies these files, not dependencies. Before running the CLI, a local MCP server, or auth commands, run here once. Importing the published package as a dependency in your own project instead? That already resolves everything — see .
npx skills add zapier/connectors --skill dropboxzapier-sdknpm install --omit=devnpm installreferences/use-as-sdk.mdThe connector runs on Node.js 22.18+. Pick the reference that matches how you're running it, and load it before doing anything else:
| You have... | Load |
|---|---|
An MCP-aware client — tools may already be loaded (e.g. | |
Terminal / subprocess access (you can run | |
| Only your own code, importing this package as a dependency | |
| No tool access, no terminal, no ability to import this package — you write your own code that calls the Dropbox API directly (e.g. a code-execution sandbox) | |
这是一款agentskills.io技能。
如果该连接器尚未作为技能安装,请先使用(或你的工具链自带的技能安装机制)进行安装,然后继续后续操作。安装技能会复制这些文件,但不会安装依赖项。运行CLI、本地MCP服务器或认证命令前,请先在此处执行一次。如果是在你自己的项目中导入已发布的包作为依赖?那已经解决了所有依赖问题——请查看。
npx skills add zapier/connectors --skill dropboxzapier-sdknpm install --omit=devnpm installreferences/use-as-sdk.md该连接器运行于**Node.js 22.18+**环境。请根据你的运行方式选择对应的参考文档,并在进行任何操作前加载它:
| 你的环境... | 加载文档 |
|---|---|
支持MCP的客户端——工具可能已加载(例如 | |
拥有终端/子进程访问权限(可以运行 | |
| 仅使用自有代码,将此包作为依赖导入 | |
| 无工具访问权限、无终端、无法导入此包——你需要编写自己的代码直接调用Dropbox API(例如代码执行沙箱) | |
Scripts
脚本
<!-- BEGIN:skill-connections-note? -->
All 21 scripts use the single connection. Each script's / (Zod) inside the script file is the source of truth for its contract.
<!-- END:skill-connections-note -->
<!-- BEGIN:skill-scripts-table -->
dropboxinputSchemaoutputSchema| Script | Script name | Connections | Description |
|---|---|---|---|
| | Single ( | Upload a file by fetching its bytes from a URL (chunked session for large files). |
| | Single ( | Create or overwrite a file from plain text content. |
| | Single ( | Append text to a text file (creates it if absent). |
| | Single ( | Create a folder at a path. |
| | Single ( | Move or rename a file or folder. |
| | Single ( | Copy a file or folder to a new path. |
| | Single ( | Delete a file or folder (recoverable for a limited time). |
| | Single ( | List a folder's immediate contents (cursor-paged). |
| | Single ( | Search files/folders by name or content (cursor-paged). |
| | Single ( | Get metadata for one file or folder by path or id. |
| | Single ( | Get a ~4h direct download URL for a file. |
| | Single ( | Read a text file's inline content (UTF-8, size-capped). |
| | Single ( | Create a durable shareable link (returns the existing one if present). |
| | Single ( | Change an existing shared link's settings. Resolve |
| | Single ( | List existing shared links, optionally for a path. |
| | Single ( | List shared folders the account belongs to (resolver for |
| | Single ( | Add members (by email) to a shared folder. Resolve |
| | Single ( | Remove a member from a shared folder (polls to completion). |
| | Single ( | Create a public upload page into a folder. |
| | Single ( | List the account's file requests. |
| | Single ( | Identify the account and its team/personal namespace ids. |
Several scripts take an id or url best resolved from another script — those resolution hints are in the field descriptions (e.g. ← ; ← ).
<!-- END:skill-scripts-table -->
<!-- BEGIN:disambiguation-and-refusals? -->addFolderMember.shared_folder_idlistSharedFoldersmodifySharedLinkSettings.urllistSharedLinks<!-- BEGIN:skill-connections-note? -->
所有21个脚本均使用单一的连接。每个脚本文件内的/(基于Zod)是其契约的权威来源。
<!-- END:skill-connections-note -->
<!-- BEGIN:skill-scripts-table -->
dropboxinputSchemaoutputSchema| 脚本 | 脚本名称 | 连接方式 | 描述 |
|---|---|---|---|
| | 单一连接( | 通过URL获取文件字节进行上传(大文件使用分块会话)。 |
| | 单一连接( | 从纯文本内容创建或覆盖文件。 |
| | 单一连接( | 向文本文件追加内容(文件不存在则创建)。 |
| | 单一连接( | 在指定路径创建文件夹。 |
| | 单一连接( | 移动或重命名文件或文件夹。 |
| | 单一连接( | 将文件或文件夹复制到新路径。 |
| | 单一连接( | 删除文件或文件夹(可在有限时间内恢复)。 |
| | 单一连接( | 列出文件夹的直接内容(基于游标分页)。 |
| | 单一连接( | 按名称或内容搜索文件/文件夹(基于游标分页)。 |
| | 单一连接( | 通过路径或ID获取单个文件或文件夹的元数据。 |
| | 单一连接( | 获取文件的临时直接下载链接(有效期约4小时)。 |
| | 单一连接( | 直接读取文本文件内容(UTF-8编码,有大小限制)。 |
| | 单一连接( | 创建持久化共享链接(若已存在则返回现有链接)。 |
| | 单一连接( | 修改现有共享链接的设置。需通过 |
| | 单一连接( | 列出现有共享链接,可指定路径筛选。 |
| | 单一连接( | 列出账户所属的共享文件夹(用于解析 |
| | 单一连接( | 向共享文件夹添加成员(通过邮箱)。需通过 |
| | 单一连接( | 从共享文件夹移除成员(轮询直至完成)。 |
| | 单一连接( | 创建指向文件夹的公共上传页面。 |
| | 单一连接( | 列出账户的文件请求。 |
| | 单一连接( | 识别账户及其团队/个人命名空间ID。 |
部分脚本需要的ID或URL最好通过其他脚本解析获取——这些解析提示会在字段描述中说明(例如 ← ; ← )。
<!-- END:skill-scripts-table -->
<!-- BEGIN:disambiguation-and-refusals? -->addFolderMember.shared_folder_idlistSharedFoldersmodifySharedLinkSettings.urllistSharedLinksDisambiguation & refusals
歧义处理与拒绝规则
Disambiguating items by name. Dropbox addresses items by path or id, and paths are case-insensitive — two items can look like the same name. Before writing to (move/copy/delete/share) an item the user named in words rather than by exact path, resolve it first with or :
searchFileslistFolder- Exactly one match → act on it; don't over-confirm.
- Two or more matches that tie (e.g. in two different folders, or a shared-folder name that collides) → stop, list the candidates with a distinguishing field (full
report.pdf, orpath_displayfor folders), and ask which one. Never silently pick.shared_folder_id
The entity types most likely to collide here are files/folders by name (resolve via /, disambiguate on ) and shared folders by name (resolve via , disambiguate on ).
searchFileslistFolderpath_displaylistSharedFoldersshared_folder_idOperations this connector does NOT perform — say so, don't fake it. If the user asks for one of these, tell them it's unsupported rather than substituting a different tool and reporting success:
- Bulk/batch moves, copies, or deletes in one call. There is no batch tool — loop the single-item tools (/
moveFile/copyFile) yourself, or tell the user it'll be one call per item.deletePath - Reading binary documents (PDF/image/Office) as text, OCR, or document parsing. returns UTF-8 text only; for other files it returns
getFileContentsand you must hand off the bytes viais_text:false. Don't claim to have read a PDF's contents.getTemporaryLink - Fetching or editing an individual file request, or sharing a whole folder as a managed share. Only +
createFileRequestare available; there is no get/update file-request orlistFileRequeststool.shareFolder
按名称区分项目。Dropbox通过路径或ID定位项目,且路径不区分大小写——两个项目可能名称看起来相同。在对用户用文字命名而非精确路径指定的项目执行写入操作(移动/复制/删除/共享)前,需先通过或解析:
searchFileslistFolder- 唯一匹配项 → 直接操作;无需额外确认。
- 多个匹配项冲突(例如两个不同文件夹中的,或共享文件夹名称冲突)→ 停止操作,列出候选项目并附上区分字段(完整
report.pdf或文件夹的path_display),询问用户选择哪一个。绝不能静默选择。shared_folder_id
最容易发生冲突的实体类型是按名称区分的文件/文件夹(通过/解析,用区分)和按名称区分的共享文件夹(通过解析,用区分)。
searchFileslistFolderpath_displaylistSharedFoldersshared_folder_id本连接器不支持的操作——直接说明,不要伪造功能。如果用户请求以下操作,请告知用户不支持,而非替换为其他工具并报告成功:
- 批量移动、复制或删除操作。本连接器没有批量工具——请自行循环调用单项目工具(/
moveFile/copyFile),或告知用户需要逐个调用。deletePath - 将二进制文档(PDF/图片/Office文件)读取为文本、OCR识别或文档解析。仅返回UTF-8文本;对于其他文件,会返回
getFileContents,你必须通过is_text:false传递字节数据。不要声称已读取PDF内容。getTemporaryLink - 获取或编辑单个文件请求,或作为托管共享共享整个文件夹。仅支持+
createFileRequest;没有获取/更新文件请求或listFileRequests工具。shareFolder
Auth
认证
Every shape passes auth as one connection selector, not the secret — a string. Every connector accepts (Zapier-managed auth — routes through Zapier's auth, retries, and governance layer); some also accept one or more direct-token resolvers (naming and count vary per connector) — check this connector's own resolvers rather than assuming. The prefix is optional; a bare value goes to the first resolver that claims it — a UUID-shaped bare value always claims . Each script declares the connections it needs and the resolvers each accepts. The exact syntax for passing a connection (and how to see this connector's resolver list) differs by shape — see the reference you loaded above.
[<resolver>:]<value>zapier:<connection-id><resolver>:zapier:Checking what's already configured first? Don't dump environment values to do it — or prints the value along with the name, leaking a live credential into the transcript if one is set. Check names only () or test a known name directly ().
<!-- BEGIN:skill-auth-notes? operational behavior that differs by WHICH resolver is used — a safety gate only one path enforces, scopes/permissions that differ between resolvers, a billing/plan difference tied to the auth path, or a feature only available (or unavailable) on one resolver. Not for describing how to obtain or pass a credential — that's references/use-without-zapier.md's job. Leave this region empty (unfilled) if every resolver behaves identically. -->
<!-- END:skill-auth-notes -->
envenv | grep <name>env | cut -d= -f1 | grep -i <name>[ -n "$VAR_NAME" ]No connection yet? Pick one — and follow the reference's own flow to obtain it; never just ask the user for a connection id or token as if they already have one memorized:
| Load | |
|---|---|
| Pass the credential directly | |
| Route it through a Zapier connection | |
每个操作都通过一个连接选择器传递认证信息,而非密钥——格式为的字符串。每个连接器都接受(Zapier托管的认证——通过Zapier的认证、重试和治理层路由);部分连接器还接受一种或多种直接令牌解析器(名称和数量因连接器而异)——请查看本连接器的解析器列表,不要假设。前缀是可选的;纯值会交给第一个声明支持它的解析器——UUID格式的纯值默认使用解析器。每个脚本都会声明它所需的连接以及接受的解析器。传递连接的确切语法(以及查看本连接器解析器列表的方式)因运行环境而异——请查看你之前加载的参考文档。
[<resolver>:]<value>zapier:<connection-id><resolver>:zapier:想要先查看已配置的内容?不要直接打印环境变量——或会同时打印名称和值,如果设置了有效凭据,会将其泄露到日志中。请仅查看名称()或直接测试已知名称()。
<!-- BEGIN:skill-auth-notes? operational behavior that differs by WHICH resolver is used — a safety gate only one path enforces, scopes/permissions that differ between resolvers, a billing/plan difference tied to the auth path, or a feature only available (or unavailable) on one resolver. Not for describing how to obtain or pass a credential — that's references/use-without-zapier.md's job. Leave this region empty (unfilled) if every resolver behaves identically. -->
<!-- END:skill-auth-notes -->
envenv | grep <name>env | cut -d= -f1 | grep -i <name>[ -n "$VAR_NAME" ]还没有连接?请选择一种方式——并按照参考文档的流程获取连接;不要直接向用户索要连接ID或令牌,仿佛他们已经记住了这些信息:
| 加载文档 | |
|---|---|
| 直接传递凭据 | |
| 通过Zapier连接路由 | |
Output format
输出格式
Every script returns a envelope:
{ data, meta }- — the script's result (the shape its
datadeclares; see the reference you loaded above for how to inspect a script's exact schema in your shape).outputSchema - — what validating
meta.outputDataValidationdid:data- — validated, nothing removed.
{ skipped: false, droppedPaths: null } - — validated, but those paths were stripped from
{ skipped: false, droppedPaths: [...], instruction }: fields the script returned from the API that thedatadoesn't declare. If you need them, re-run with output validation skipped.outputSchema - — validation was bypassed;
{ skipped: true }is the raw, unchecked script output.data
Reading dropped fields / . To receive the raw, unvalidated result, opt out of output validation (the exact syntax differs by shape — see the reference you loaded above). Input validation is never skipped.
skipOutputDataValidationTrimming the result / . To shrink a large result down to the fields you need, pass a jq expression that post-processes (again, exact syntax per shape). The jq runs against only, NOT the envelope, so write it rooted at (run the script's — or your shape's equivalent — to see its output schema). The transformed value replaces , is preserved, and the result is NOT re-validated against the output schema.
<!-- BEGIN:skill-references-table -->filterOutputDatadatadata{ data, meta }data--helpdatameta每个脚本都会返回格式的结果包:
{ data, meta }- —— 脚本的执行结果(其
data声明的结构;请查看你加载的参考文档,了解如何在你的环境中查看脚本的确切模式)。outputSchema - —— 对
meta.outputDataValidation的验证情况:data- —— 已验证,未移除任何内容。
{ skipped: false, droppedPaths: null } - —— 已验证,但这些路径已从
{ skipped: false, droppedPaths: [...], instruction }中移除:脚本从API返回的字段未在data中声明。如果需要这些字段,请跳过输出验证重新运行。outputSchema - —— 已绕过验证;
{ skipped: true }是原始的、未检查的脚本输出。data
读取被丢弃的字段 / 。要接收原始的未验证结果,请选择退出输出验证(确切语法因环境而异——请查看你加载的参考文档)。输入验证永远不会被跳过。
skipOutputDataValidation修剪结果 / 。要将大型结果缩小到你需要的字段,请传递一个jq表达式对进行后处理(同样,确切语法因环境而异)。jq仅针对运行,而非结果包,因此请以为根编写表达式(运行脚本的命令——或你的环境中的等效命令——查看其输出模式)。转换后的值会替换,会被保留,且结果不会再次根据输出模式进行验证。
<!-- BEGIN:skill-references-table -->filterOutputDatadatadata{ data, meta }data--helpdatametaReferences
参考文档
Load the matching reference file before working in that area:
| Reference | Covers | Load it when |
|---|---|---|
| Stone | Before making any direct Dropbox API calls or debugging unexpected API errors |
在对应场景下工作前,请加载匹配的参考文档:
| 参考文档 | 涵盖内容 | 加载时机 |
|---|---|---|
| | 在直接调用Dropbox API或调试意外API错误前 |