2013-03-25 157 views
5

我正在申请connect with linkedin。我正在关注step by step guide。为了验证用户,我从this获得了帮助。无法检索访问令牌linkedin api

当用户点击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密钥和密钥。 REDIRECT_URI

描述:

+0

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 您已将AUTHORIZATION_CODE置于需要的位置,对吗?让我知道如果你做得正确.. – 2013-03-25 12:54:06

+0

是的,我传递正确的授权码 – user2199343 2013-03-25 12:59:47

回答

9
+0

谢谢你。 :-)我忘了阅读。 – user2199343 2013-03-25 13:27:28

+0

对我来说也是这样,除了我使用相同的转义redirect_uri,但是当我使用非转义的redirect_uri时,它经历了! – mkhatib 2015-05-28 00:18:58

+0

@mkhatib嗨,当我在授权和accessToken端点使用相同的重定向URI时,我得到无效的redirect_uri。我尝试过使用和不使用编码的网址。编码的网址给了我无效的redirect_uri错误,而没有编码的URL给出了无效的请求错误。请帮忙。 – abhhab 2016-11-10 06:54:12

0

您可能还希望确保您发送的访问令牌请求为“POST”

Fissh

1

我得到了同样的错误,你。我还遇到以下情况:

  • 我的要求是POST请求。
  • 我的redirect_uri的呼叫在/authorization/accessToken中相同。
  • /accessToken呼叫在收到授权码后立即执行,所以 它不会过期。

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

这是oAuth 1.a的访问令牌,与当前正在运行linkedIn API的oAuth 2.0不兼容。
撤销此访问令牌后,我可以通过调用/authorization/accessToken获得新的访问令牌。