使用Uppy集成Dropbox时遇Missing client_id错误求助
解决Uppy Dropbox集成的"Missing client_id"错误
这个错误的核心原因是Dropbox没有收到正确的客户端ID,大概率是Companion配置或Dropbox应用回调设置出了问题,按以下步骤排查:
1. 修正Companion环境变量配置
你的Docker Compose里COMPANION_DOMAIN带了端口号,这会导致Companion生成错误的回调地址,同时缺少HTTP协议配置,修改后的配置如下:
services: companion: image: "transloadit/companion:latest" ports: - "3020:3020" environment: COMPANION_DATADIR: "./output" COMPANION_DOMAIN: "localhost" # 去掉端口号,端口由COMPANION_PORT单独指定 COMPANION_PORT: "3020" COMPANION_PROTOCOL: "http" # 本地开发必须指定http,否则默认https COMPANION_ALLOW_LOCAL_URLS: "true" COMPANION_DROPBOX_KEY: "你的Dropbox应用Key" COMPANION_DROPBOX_SECRET: "你的Dropbox应用Secret" volumes: - ./output:/app/output
2. 配置Dropbox应用的回调URL
登录Dropbox开发者控制台,找到你的应用,在OAuth 2设置里添加回调地址:http://localhost:3020/dropbox/callback
这个地址必须和Companion生成的回调地址完全一致,否则Dropbox会拒绝请求。
3. 重启并验证服务
- 重启Companion容器:
docker-compose down && docker-compose up -d - 访问
http://localhost:3020/health确认服务正常运行 - 查看Companion日志:
docker-compose logs companion,检查是否有"Loaded Dropbox provider"的日志,确认配置已加载
4. 确认Uppy插件配置
确保Uppy的Dropbox插件companionUrl是正确的http://localhost:3020,没有拼写错误或协议错误。
内容的提问来源于stack exchange,提问作者xotix
相关产品推荐
相关产品推荐

