我试图将文件上传到我的 dropbox 帐户,并阅读 dropbox api 文档。 当我执行以下 cURL 命令时,我得到了一个临时上传文件链接
curl -X POST https://api.dropboxapi.com/2/files/get_temporary_upload_link \
--header "Authorization: Bearer <Bearer Token> \
--header "Content-Type: application/json" \
--data "{\"commit_info\":{\"autorename\":true,\"mode\":\"add\",\"mute\":false,\"path\":\"/dog.jpg\",\"strict_conflict\":false},\"duration\":3600}"
回复是这样的
{"link": "https://content.dropboxapi.com/apitul/1/dfkjeijaf"}
其中“dfkjeijaf”是我替换的代码,以便在此处公开显示。 我尝试通过邮递员将文件上传到此网址,为此我设置了内容类型 application/octet-stream 并以二进制形式在请求正文中传递一个文件。但我收到错误响应 状态代码 409 和响应正文为“临时上传链接导致无效的上传尝试”。我做错了什么?
根据错误消息“临时上传链接导致无效上传尝试”,此问题可能是由于您与 get_temporary_upload_link 端点一起使用的参数值无效引起的。例如,如果提供给 get_temporary_upload_link 的路径可能会发生这种情况生成链接无效。也就是说,我测试了您提供的 cURL 命令并成功生成了临时上传链接并上传了文件。
请问您是否提供了导致问题的 cURL 命令中确切的 get_temporary_upload_link 参数和值?
请记住,使用 Dropbox API 上传文件的另一个选项是使用 /2/files/upload 或 /2/files/upload_session/start 端点。
要使用 Dropbox API 上传大于 150 MB 的大文件,您应该使用“上传会话”功能。这允许您通过发送多个请求来上传大文件,每个请求包含文件的一部分。