LinkedIn UgcPosts API迁移至Posts API遇权限及调用问题
LinkedIn UgcPosts API迁移至Posts API问题解答
问题背景
正在从https://api.linkedin.com/v2/ugcPosts迁移至https://api.linkedin.com/rest/posts,原UgcPosts API可正常创建组织动态,但调用新Posts API时返回400错误:
Organization permissions must be used when using organization as author
尝试调用/rest/organizationAuthorizations接口验证权限时,因路径变量语法问题返回400错误。当前OAuth令牌已包含r_organization_admin、w_organization_live等权限。
1. UgcPosts API到Posts API的正确迁移方案
- 调整请求结构:旧版UgcPosts采用
com.linkedin.ugc.ShareContent嵌套结构,新版Posts API使用简洁JSON格式,核心必填字段包括:author(格式为urn:li:organization:{orgId},明确指定组织ID)、commentary(动态正文内容)、visibility(如PUBLIC或ORGANIZATION)。 - 修正权限验证调用:调用
/rest/organizationAuthorizations时,需严格遵循路径参数格式,正确写法为/rest/organizationAuthorizations?q=organization&organization=urn:li:organization:{orgId},避免语法错误导致的400。 - 确认授权主体:确保OAuth令牌是通过组织管理员身份授权获取的,而非个人用户授权,新版API对组织作者的权限校验更严格,需绑定对应组织的管理角色。
- 分步测试:先通过
organizationAuthorizations接口确认令牌对目标组织的管理权限,再构造符合Posts API规范的请求体发起创建请求,验证字段格式和权限匹配性。
2. 权限错误提示的含义及解决方式
- 错误含义:当以组织为作者创建动态时,必须使用关联组织权限的令牌。当前所用令牌可能是个人用户授权生成的,未绑定目标组织的管理权限,或授权流程中未明确关联组织身份。
- 解决方式:不需要额外令牌,但需确保:
- 授权令牌的用户在LinkedIn UI中是目标组织的管理员(如超级管理员、内容管理员);
- OAuth授权流程中,明确请求组织相关权限时关联对应组织ID,避免令牌仅绑定个人权限。
3. 是否需要更多OAuth权限
当前的r_organization_admin(读取组织管理员权限)和w_organization_live(发布组织动态权限)已满足基础组织动态创建需求。额外场景需补充:
- 发布带媒体的动态,需添加
w_organization_media权限; - 访问组织动态分析数据,需添加
r_organization_analytics权限;
仅创建基础文字/链接动态时,现有权限足够。
4. 旧版UgcPosts API的可用性
目前LinkedIn仍允许使用旧版UgcPosts API,但该接口已被标记为遗留(Legacy)API。根据LinkedIn API生命周期政策,旧版API会在新版API稳定后的12-18个月内逐步停止服务,具体下线时间需关注LinkedIn开发者平台公告。建议尽快完成迁移,避免后续服务中断影响业务。
内容的提问来源于stack exchange,提问作者Ramon Blanquer
相关产品推荐
相关产品推荐

