LinkedIn UGC Post API上传NATIVE_DOCUMENT文档报错咨询
LinkedIn UGC帖子文档类资产上传注册实现方案
问题描述
根据LinkedIn UGC Posts官方API文档描述,设置参数shareMediaCategory: "NATIVE_DOCUMENT"即可发布附带文档的UGC帖子,但文档未提供该功能的具体实现说明,现有公开文档内容仅覆盖图片、视频类素材的上传流程。
尝试按照图片、视频的上传逻辑实现文档类资产的上传注册,核心代码如下:
const registerUpload = () => { // 未找到公开文档说明,根据站点返回值猜测文档类对应recipe为feedshare-document const type = 'document'; // 传'image'或'video'时逻辑可正常运行 return axios({ method: 'post', url: 'https://api.linkedin.com/v2/assets?action=registerUpload', data: { registerUploadRequest: { owner, recipes: [ `urn:li:digitalmediaRecipe:feedshare-${type}`, ], serviceRelationships: [ { identifier: 'urn:li:userGeneratedContent', relationshipType: 'OWNER', }, ], ...(synchronous ? { supportedUploadMechanism: [ 'SYNCHRONOUS_UPLOAD', ], } : {}), }, }, headers: { Authorization: `Bearer ${tokenInfo.token}`, 'X-Restli-Protocol-Version': '2.0.0', }, }); }
接口调用后返回403错误,错误响应内容如下:
{ "serviceErrorCode": 100, "message": "Field Value validation failed in REQUEST_BODY: Data Processing Exception while processing fields [/registerUploadRequest/recipes/relationshipType]", "status": 403 }
报错提示的校验失败字段路径/registerUploadRequest/recipes/relationshipType与官方文档公示的请求结构schema不匹配,无法定位问题原因。
正确实现方式
报错核心原因有两点:
- 文档类资产对应的recipe URN猜测错误,正确值为
urn:li:digitalmediaRecipe:document,不是拼接得到的urn:li:digitalmediaRecipe:feedshare-document - 文档类资产不支持同步上传机制,必须移除请求体中
synchronous相关的supportedUploadMechanism字段,走分块上传流程
注:报错信息里指向
relationshipType字段属于接口校验逻辑的路径解析错误,实际该字段配置符合要求,无需修改。
修正后的注册上传请求核心配置如下:
const registerDocumentUpload = () => { return axios({ method: 'post', url: 'https://api.linkedin.com/v2/assets?action=registerUpload', data: { registerUploadRequest: { owner: owner, // 传入帖子所属的用户/组织主页URN recipes: [ 'urn:li:digitalmediaRecipe:document' ], serviceRelationships: [ { identifier: 'urn:li:userGeneratedContent', relationshipType: 'OWNER' } ] } }, headers: { Authorization: `Bearer ${tokenInfo.token}`, 'X-Restli-Protocol-Version': '2.0.0' } }) }
注册成功后,接口会返回分块上传地址和对应资产URN,参考视频类素材的分块上传流程完成文件上传、状态校验后,即可拿到可引用的媒体URN。发布UGC帖子时传入该URN,同时设置shareMediaCategory: "NATIVE_DOCUMENT"即可完成带文档帖子的发布。
目前支持上传的文档格式包含PDF、DOC、DOCX、PPT、PPTX等,单文件大小上限为100MB。
内容的提问来源于stack exchange,提问作者Chris Hull
相关产品推荐
相关产品推荐

