Python调用LinkedIn API提示"Empty oauth2 access token",已传令牌仍报错
LinkedIn API 65604错误排查方案
- 校验令牌内容完整性
从OAuth Token Tools页面复制令牌时很容易带上游离的换行、空格或其他不可见字符,先将获取到的access_token手动去除前后所有空白字符后再代入请求测试,避免格式异常导致服务端无法识别令牌。 - 验证请求头格式正确性
打印实际发送的请求头信息,确认Authorization字段符合Bearer 你的完整令牌格式:注意Bearer首字母大写,和令牌内容之间仅保留1个空格,没有拼写错误。你可以在代码中加入打印语句验证:print(headers) - 新增强制版本头
2023年之后创建的LinkedIn开发者应用调用v2接口要求必须携带LinkedIn-Version请求头,取值为格式为YYYYMM的版本号,缺失该头会触发服务端异常误报令牌为空,修改头配置如下:headers = { 'Authorization': f'Bearer {access_token}', 'LinkedIn-Version': '202401' } - 禁用重定向跟随测试
请求如果被服务端重定向,requests默认跟随重定向时不会携带Authorization头到新地址,导致令牌丢失,可以禁用重定向测试:me = requests.get('https://api.linkedin.com/v2/me', headers=headers, allow_redirects=False).json() - 校验令牌有效性
确认你获取的令牌未过期,且对应的应用已经将你使用的账号加入测试成员列表。r_basicprofile权限仅对应用的测试成员生效,非测试成员的令牌即使配置了对应scope也会触发权限类异常,部分场景下会误报为空令牌。
内容的提问来源于stack exchange,提问作者user17574172
相关产品推荐
相关产品推荐

