调用LinkedIn API上传视频返回无详情500错误如何排查
LinkedIn视频上传PUT请求返回无详情500错误排查清单
以下是该接口高频触发无提示500的错误点,按出现概率从高到低排序:
- 请求头配置错误:上传PUT请求必须设置
Content-Type: application/octet-stream,禁止携带application/json、multipart/form-data等其他Content-Type值;除了必要的Content-Length、分片上传需要的Content-Range头外,不要额外携带自定义请求头,多余的头会被服务端拦截直接抛500,不会返回具体错误原因。 - 上传URL失效:初始化接口返回的上传地址有效期仅30分钟,且只要发起过一次失败的上传请求(哪怕是网络超时导致的请求中断),该URL就会直接作废,必须重新调用初始化接口生成新地址,复用旧地址必然返回500。
- 请求体格式错误:必须直接传输原始二进制文件流,不能用form-data格式包装文件、不能对文件做base64编码、不能把文件内容包裹在JSON结构体内,多数HTTP客户端默认的PUT封装逻辑会自动加格式包装,是最常见的触发原因。
- 大小/分片规则不匹配:单PUT请求支持的最大文件体积为4MB,超过4MB的视频必须走分片上传流程,直接单请求传大文件不会返回大小超限提示,直接抛500;分片上传时
Content-Range头必须严格遵循bytes 起始偏移-结束偏移/文件总大小格式,偏移量计算错误也会触发无提示500。 - 权限匹配错误:初始化上传使用的access token必须具备对应主体的发布权限,个人账号上传需要
w_member_social权限,企业主页上传需要w_organization_social权限,且token所属账号必须是对应主页的管理员,权限不匹配的部分场景不会返回403,会直接返回500。
快速定位方法:取1MB以内的合规测试MP4文件,用curl直接发起上传请求排除代码封装干扰:
curl -X PUT --upload-file test.mp4 -H "Content-Type: application/octet-stream" "初始化返回的上传URL"
如果curl请求上传成功,问题就出在业务代码的请求封装逻辑,无需排查文件本身、接口权限、服务端状态问题。
内容的提问来源于stack exchange,提问作者Nowis
相关产品推荐
相关产品推荐

