求当前LinkedIn API视频上传的HTTP请求流程示例及上传异常排查
LinkedIn API 合规视频上传完整流程及问题排查
一、当前合规的视频上传完整HTTP请求流程
LinkedIn当前的视频上传分为初始化上传、上传文件、标记完成三个核心步骤,缺一不可,以下是每一步的具体请求示例:
步骤1:初始化视频上传(获取上传地址与视频ID)
这一步会向LinkedIn申请上传配额,返回专属的上传URL和唯一视频ID,必须保存这两个值用于后续操作。
POST https://api.linkedin.com/rest/videos Authorization: Bearer {你的ACCESS_TOKEN} Content-Type: application/json { "owner": "urn:li:organization:123456", // 替换为你的组织URN或个人URN(urn:li:person:xxx) "fileSize": 10485760, // 视频文件的字节大小,必须准确 "title": "产品功能演示", "description": "展示最新版本的核心功能", "visibility": "PUBLIC" // 可选:PUBLIC、CONNECTIONS、ORGANIZATION }
成功响应示例(提取uploadUrl和videoId):
{ "value": { "uploadUrl": "https://api.linkedin.com/mediaUpload/C5522AQHxXxxxxxx/feedshare-uploadedVideo/0?ca=vector_feedshare&cn=uploads&m=AQJxxxxxxxxx&app=123456&sync=0&v=beta&ut=2H-xxxxxxxxx", "videoId": "C5522AQHxXxxxxxx" } }
步骤2:上传视频文件到指定URL
使用第一步拿到的uploadUrl发送PUT请求,直接上传视频二进制内容,无需携带Authorization头。
PUT {步骤1返回的uploadUrl} Content-Type: video/mp4 // 匹配你的视频MIME类型,仅支持MP4 // 请求体为视频文件的二进制数据流
成功响应为200 OK,无返回内容。
步骤3:标记视频上传完成
这是最容易遗漏的步骤,必须调用该接口告知LinkedIn视频已上传完毕,触发后台处理流程。
POST https://api.linkedin.com/rest/videos/{步骤1返回的videoId}/complete Authorization: Bearer {你的ACCESS_TOKEN} Content-Type: application/json { "serviceRelationships": [ { "relationshipType": "OWNER", "identifier": "urn:li:organization:123456" // 与步骤1的owner保持一致 } ] }
成功响应为204 No Content。
二、收到200响应但视频未显示的排查方案
1. 检查是否执行了「标记上传完成」步骤
如果只做了前两步,LinkedIn会认为上传未完成,不会处理视频,自然不会在平台显示。补做第三步即可。
2. 验证视频文件是否符合规范
LinkedIn对视频格式有严格要求,不符合会导致后台处理失败:
- 格式:仅支持MP4(视频编码H.264,音频编码AAC)
- 大小:1MB ≤ 文件大小 ≤ 10GB
- 时长:3秒 ≤ 视频时长 ≤ 10分钟
- 分辨率:最低240p,最高4K
3. 确认权限范围是否正确
确保你的access token包含对应权限:
- 个人账号上传:需要
w_member_social权限 - 企业账号上传:需要
w_organization_social权限
缺少权限会导致视频上传后无法在目标账号的动态中显示。
4. 检查owner URN的正确性
如果是企业账号上传,必须使用组织URN(urn:li:organization:xxx),不能用个人URN;个人账号上传则必须用个人URN,错误的归属会导致视频“消失”在错误的账号下。
5. 查询视频状态定位问题
调用GET接口查看视频的处理状态:
GET https://api.linkedin.com/rest/videos/{videoId} Authorization: Bearer {你的ACCESS_TOKEN}
重点看status字段:
PROCESSING:视频正在后台处理,等待5-10分钟后再查看FAILED:处理失败,查看failureReason字段获取具体错误(比如编码不支持、文件损坏)READY:处理完成,此时应该能在LinkedIn页面看到视频
内容的提问来源于stack exchange,提问作者Jim McNeill
相关产品推荐
相关产品推荐

