LinkedIn Videos Beta接口分块上传视频返回500/504错误咨询
故障排查方案
- 校验etag提取逻辑
你当前用正则匹配etag时仅适配了小写的etag:响应头,而curl实际返回的响应头通常为大写的ETag:,会导致匹配失败拿到无效值。同时LinkedIn返回的etag默认带双引号,需完整保留不要额外裁剪,etag不匹配会直接触发服务端校验失败返回500错误。 - 核对分块数量与上传指令一致性
调用initializeUpload接口返回的uploadInstructions数组长度就是你需要上传的分块总数,你当前未校验split命令生成的分块数是否和数组长度一致,若分块数不匹配会导致最后一块上传空内容,服务端合并视频时出错。 - 检查finalize请求头部配置
LinkedIn Restli API要求所有POST请求必须携带两个请求头:Content-Type: application/json、X-Restli-Protocol-Version: 2.0.0,缺失协议头大概率会触发504/500错误,你可以确认Guzzle客户端的全局头配置是否包含这两项。 - 按需传递uploadToken参数
你提到uploadToken字段通常为空,该字段为空时不要在finalizeUploadRequest中携带该参数,多余的空值参数会触发服务端参数校验逻辑报错。 - 最小流程验证
你可以先用一个小于4MB的视频走全流程,跳过切分步骤直接上传单块内容,确认单块上传+finalize逻辑可正常跑通,先排除切分逻辑的问题。
如果以上排查步骤都无法解决问题,可提交LinkedIn Marketing API开发者工单,附上请求ID、视频URN、错误发生的精确时间戳,后台可查询到具体的服务端错误日志。
内容的提问来源于stack exchange,提问作者Graeme
相关产品推荐
相关产品推荐

