You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LinkedIn API授权异常:scope未授权与code参数缺失问题求助

排查LinkedIn API授权错误(unauthorized_scope_error + 无code参数)
  • 确认产品与scope的对应关系

    • 登录LinkedIn开发者后台,进入应用的「Products」标签,确保已添加正确的产品(如「Sign In with LinkedIn」),且状态为「Added」。
    • 注意:r_basicprofile、r_emailaddress是旧版API的scope,新版API对应profile、email,混用旧scope会直接触发unauthorized_scope_error。务必使用当前产品支持的官方scope。
  • 严格匹配回调URL

    • 应用后台「Auth」标签下的「Redirect URLs」必须和Flask代码中的回调URL完全一致,包括协议(http/https)、端口、路径。例如代码中是http://localhost:5000/callback,后台配置就不能写成http://127.0.0.1:5000/callback或省略端口。
    • 本地测试时,避免使用localhost的别名,保持和配置的URL完全一致,否则LinkedIn不会返回code参数。
  • 检查代码中的授权请求参数

    • 确保授权URL中scope参数用空格分隔多个权限,格式为scope="profile email",不要用逗号或其他分隔符。
    • 确认请求包含response_type="code"参数,这是获取授权码的必要条件,缺失的话LinkedIn不会返回code。
    • 打印生成的授权URL,检查scope拼写是否正确,没有多余字符或拼写错误。
  • 验证权限的授权状态

    • 进入应用后台「Auth」标签的「Scopes」列表,确认你使用的scope旁边标注「Authorized」。如果是「Pending」或「Rejected」,说明需要提交审核才能使用。
    • 测试阶段可使用「Test Users」功能,添加自己的账号为测试用户,测试用户无需审核即可使用已添加产品的所有scope。
  • 排查回调路由的参数接收

    • 回调路由中必须用request.args.get('code')获取授权码,因为LinkedIn通过GET方式传递该参数,不要误用request.form。
    • 确保回调路由的定义没有额外的参数限制,比如@app.route('/callback')要保持简洁,避免路由参数覆盖查询参数。
  • 清除浏览器缓存与会话

    • 旧的授权会话缓存可能导致异常,用浏览器隐身模式测试,或清除Cookie和缓存后重新发起授权请求。

内容的提问来源于stack exchange,提问作者Joaquin Carretero Martinez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 07:50:09