LinkedIn eventSubscription API调用返回403错误问题咨询
LinkedIn 事件订阅接口403错误排查及解决方案
你调用的接口如下:
PUT https://api.linkedin.com/v2/eventSubscriptions/(developerApplication:urn:li:developerApplication:{developer application ID},user:urn:li:user:{member ID},entity:urn:li:organization:{organization ID},eventType:ORGANIZATION_SOCIAL_ACTION_NOTIFICATIONS)
排查方向及对应解决方案
- 权限配置问题
这是该接口403错误最高发的原因,需同时满足三个条件:- 你的开发者应用已在LinkedIn开发者后台申请并通过
w_organization_social权限的审核 - 你获取access token时,scope参数已包含
w_organization_social - 生成access token时授权的账号,是目标
urn:li:organization:{organization ID}对应的组织的管理员,拥有组织内容管理权限
- 你的开发者应用已在LinkedIn开发者后台申请并通过
- URN参数错误
即使已做URL编码,仍需核对两点:- 四个原始URN(未编码)的数值完全匹配你的应用ID、授权用户ID、目标组织ID,无填错、漏填情况
- 所有URN中的冒号均已完成URL编码为
%3A,无未编码的特殊字符出现在请求路径中
- 应用状态限制
如果你的应用处于开发模式未正式上线,仅允许访问后台配置的测试资源:- 测试阶段需在开发者后台的【Test Organizations】列表添加目标组织URN,【Test Users】列表添加授权用户
- 正式使用需先完成应用上线审核,获得全量权限开放
- 请求头配置错误
该接口必填两个请求头,缺失会返回权限错误:Authorization: Bearer {你的有效access_token},注意Bearer和token之间有且仅有一个空格X-Restli-Protocol-Version: 2.0.0,v2版本API要求必须携带该协议头
- 重复订阅冲突
如果之前已用其他身份创建过相同参数的订阅,当前身份无覆盖权限时会返回403:
先调用GET接口查询对应路径的订阅是否已存在,若存在则用原始创建身份删除旧订阅后再重新发起创建请求。
内容的提问来源于stack exchange,提问作者Swapnil Sudhir
相关产品推荐
相关产品推荐

