我试图通过Linkedin Auth2从java Web应用程序连接:
-
在linkedin中添加了我自己的应用程序 .
-
在新弹出窗口中介绍我的登录名/密码 .
-
在redirect_uri previus上获取成功请求,并获取授权码"code"
-
生成accessToken URL
-
获取下一条错误:{"error_description":"missing required parameters, includes an invalid parameter value, parameter more than once. : Unable to retrieve access token : appId or redirect uri does not match authorization code or authorization code expired","error":"invalid_request"}
我验证了网址参数是否正确: - “代码”是第4步中的令牌接收 .
-
“redirect_uri”与第2步和第4步中的网址相同 . 我在APP上的“OAuth 2.0重定向网址”部分添加了此网址 .
-
“client_id”和“client_secret”是我的APP上的“客户端API”和“秘密API” .
-
第一次和第二次请求之间的时间少于20秒 .
3 回答
您的
redirect_uri
参数的值必须是URL编码的,因此在6.执行:它不需要作为POST发送,而是作为GET发送 .
如果您要发送访问令牌请求,则必须是POST请求
Refer the OAuth Documentation
我实际上将整个URL从我的Eclipse控制台复制到URL它仍然有效
在你的情况下问题是URL编码正如HanZ所说 . 您必须为发布请求编码您的URL .
很长一段时间我也遇到过这个问题 . 请记住我做的一些事情并最终将其整理出来 .
使用get请求命中api获取授权代码 .
授权代码的生命周期约为20秒,因此很难从URL手动复制代码并请求令牌访问 . 你应该以编程方式进行 .
发出获取访问令牌的帖子请求 .
最重要:我创建的旧版应用程序无法正常工作并发出上述错误 . 创建一个新的linkedin应用程序并尝试 . 这样做对我有用 .
我假设所有其他参数,如client_id,secret,redirect_uri都是正确的 .
请尝试告诉我们 .
谢谢 .