9

我正在申请connect with linkedin。我正在按照分步指南进行操作。为了对用户进行身份验证,我从这个.

当用户单击connect with linkedin按钮时,用户将被带到linkedin 登录页面。在用户授予对帐户的访问权限后,用户将被重定向到:

https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=1ba8ogpm9e05&scope=r_basicprofile%20r_emailaddress&state=STATE&redirect_uri=http://127.0.0.1:8088/sandbox/linkedin/test.php

通过这个,我得到了授权码。并将其传递到以下网址

https://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&code=AUTHORIZATION_CODE&redirect_uri=http://127.0.0.1:8088/sandbox/linkedin/final.php&client_id=1ba8ogpm9e05&client_secret=n7GN09I3F2L3IJD1

在这里,错误来了,即

"error":"invalid_request","error_description":"missing required parameters, includes an invalid parameter value, parameter more then once. : Unable to retrieve access token : appId or redirect uri does not match authorization code or authorization code expired"

我哪里错了?我已经仔细检查了我的 api 密钥和密钥。

4

3 回答 3

13
https://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&code=AUTHORIZATION_CODE&redirect_uri=http://127.0.0.1:8088/sandbox/linkedin/final.php&client_id=1ba8ogpm9e05&client_secret=n7GN09I3F2L3IJD1
https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=1ba8ogpm9e05&scope=r_basicprofile%20r_emailaddress&state=STATE&redirect_uri=http://127.0.0.1:8088/sandbox/linkedin/test.php

redirect_uri根据LinkedIn 身份验证指南,这两者都应该包含相同的内容:

参数: redirect_uri
说明:必需。与redirect_uri您在上一步中通过的相同。
可能的错误:

  • redirect_uri与授权码生成期间使用的不同
  • 传递了无效值
  • 传递了一个空值或空白值
  • 缺少参数
于 2013-03-25T13:15:52.750 回答
1

我得到了和你一样的错误。我还满足了以下条件:

  • 我的请求是一个POST请求。
  • redirect_uri/authorization/accessToken电话是一样的。
  • 调用在/accessToken收到授权码后立即执行,因此不会过期。

最终对我有用的是撤销在https://www.linkedin.com/secure/developer上的应用程序详细信息页面上生成的访问令牌。

这是 oAuth 1.a 的访问令牌,与当前运行 linkedIn api 的 oAuth 2.0 不兼容。撤销此访问令牌后,我能够通过and调用
获得一个新的访问令牌。/authorization/accessToken

于 2014-03-10T13:57:54.460 回答
0

您可能还需要确保将访问令牌请求作为“POST”发送

于 2013-04-27T18:25:43.223 回答