LinkedIn访问令牌无法验证问题求助(401错误)
解决LinkedIn API 401 "Unable to verify access token"错误
这个错误我在集成LinkedIn API时碰到过好几次,核心就是访问令牌没通过验证,下面按优先级给你列排查和修复方案:
1. 先确认令牌本身没问题
- 检查过期时间:LinkedIn访问令牌默认60天过期,你可以去LinkedIn开发者后台的「令牌管理」里查,或者调用令牌信息接口验证有效期。
- 格式别错:令牌是一串纯字符,别带引号、空格或者换行,粘贴的时候注意不要多复制了无关字符。
- 令牌归属对不对:这个令牌必须是你当前使用的开发者应用生成的,用其他应用的令牌肯定验证失败。
2. 检查请求头的认证格式
LinkedIn API要求的标准认证头是:
Authorization: Bearer YOUR_ACCESS_TOKEN
- 别用旧版的
OAuth前缀,现在都用Bearer。 - 拼写要准确,比如
Bearer别写成Beare或者大小写搞错,系统认不出就会返回401。
3. 确认权限和端点匹配
你调用的是https://api.linkedin.com/v1/people/~的POST请求,得注意:
- 令牌必须有对应的写入权限,比如你要更新个人资料得有
w_member_social这类权限,如果只有只读权限(比如r_basicprofile),肯定会被拒。 - 另外,v1版本的API已经被弃用了,LinkedIn现在主推v2版本,旧端点可能存在兼容性问题,建议迁移到v2的对应端点试试。
4. 检查应用配置
- 确保你的开发者应用已经通过审核,处于可用状态,沙盒模式下有些功能会受限。
- 获取令牌时用的回调URL,必须和应用后台配置的完全一致,哪怕差个斜杠都可能导致令牌无效。
快速测试方法
先拿这个令牌调用https://api.linkedin.com/v2/me的GET请求(带正确的认证头),如果这个请求也返回401,那就是令牌本身的问题;如果能正常返回用户信息,那就是POST请求的权限或者端点的问题,针对性调整就行。
内容的提问来源于stack exchange,提问作者Pavan Raj
相关产品推荐
相关产品推荐

