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

AppleScript写入Dropbox目录时报-10000权限错误问题求助

AppleScript保存Mail附件到Dropbox目录报-10000权限错误解决方案

问题根因

该错误和传统Unix文件权限无关,之前修改chmod权限、调整Finder共享权限不生效是因为没命中核心原因:

  • macOS Catalina及以上版本的TCC沙盒权限机制默认拦截App对受保护目录(包括Dropbox同步目录)的写入操作,Mail.app默认没有Dropbox目录的写入授权
  • 脚本直接拼接POSIX格式的字符串路径传给save命令,遇到Dropbox (Company)这类带空格、括号的特殊路径时会出现解析错误,非受保护目录容错性高不会触发问题,Dropbox目录的权限校验更严格就会抛出-10000错误
  • Dropbox客户端会自动重置同步目录的权限配置,手动执行chmod修改的权限会被自动覆盖,无法生效

操作步骤

  • 配置系统权限
    打开「系统设置」→「隐私与安全性」,做两个配置:
    • 进入「文件和文件夹」分类,找到Mail应用,展开后开启Dropbox目录的访问权限
    • 如果上述条目不存在,直接进入「完全磁盘访问权限」分类,点击+号添加Mail.app并开启对应开关,配置完成后重启Mail.app
  • 修正脚本路径逻辑
    不要直接传拼接的字符串路径,先将POSIX路径转为AppleScript可识别的文件引用类型,避免特殊字符解析失败,修正后的脚本如下:
tell application "Mail"
    set theMessages to messages of mailbox "Inbox" of account "xxx@yyy.zzz"
    -- 替换成你自己的Dropbox目录完整POSIX路径
    set theOutputFolder to POSIX file "/Users/你的系统用户名/Dropbox (Company)/" as alias
    repeat with theMessage in theMessages
        repeat with anAttachment in (get mail attachments in theMessage)
            set theAttachmentName to name of anAttachment
            set theSavePath to ((theOutputFolder as text) & theAttachmentName) as POSIX file
            save anAttachment in theSavePath
        end repeat      
    end repeat
end tell
  • Dropbox端校验(前两步无效时操作)
    打开Dropbox客户端设置→偏好设置→同步页,检查是否开启了目录访问保护类功能,如果开启就将Mail.app加入允许访问列表,或者临时关闭功能测试脚本是否正常运行。

提示:不要尝试手动修改Dropbox同步目录的Unix权限,Dropbox客户端会在同步时自动把权限重置为默认值,这类操作没有实际效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 19:09:20