Linkedin API访问令牌生成错误

Linkedin API访问令牌生成错误,linkedin,Linkedin,我正在尝试生成访问令牌以收集linkedin数据。我遵循linkedin API文档中提供的说明。我在开发者页面中创建了一个应用程序,并获得以下信息: Application Details • Company: Fresher • Application Name: xxxxxxxxxx • API Key: 75pcum6zb2cael • Secret Key: xxxxxxxxxxxxxxxx • OAuth User Token: xxxx-xxxx-xxxx-xx

我正在尝试生成访问令牌以收集linkedin数据。我遵循linkedin API文档中提供的说明。我在开发者页面中创建了一个应用程序,并获得以下信息:

Application Details
•   Company:
Fresher
•   Application Name:
xxxxxxxxxx
•   API Key:
75pcum6zb2cael
•   Secret Key:
xxxxxxxxxxxxxxxx
•   OAuth User Token:
xxxx-xxxx-xxxx-xxxx-xxxxxxxxxx
•   OAuth User Secret:
xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
使用API键我生成了带有URL的授权码

但当我最终尝试使用以下URL生成访问令牌时,我得到了一个错误响应:

{“error_description”:“缺少必需的参数,包括无效的 参数值,参数多次:无法检索访问权限 令牌:appId或重定向uri与授权代码或 授权代码已过期,“错误”:“无效的\u请求”}

即使在多次验证之后,也会出现相同的错误消息


请帮忙。谢谢。

最后,我拿到了访问令牌。授权码将在20秒内过期,因此必须在生成授权码后立即调用访问令牌URL。

此错误可能与作用域相关

选择作用域时,在应用程序的详细信息上显示以下消息:

同时选择r_basicprofile和r_fullprofile是多余的。 如果r_basicprofile和 r_fullprofile已选中


如果您同时选择了r\u基本配置文件r\u完整配置文件,只需取消选中r\u基本配置文件,或将其从中删除。

我的问题在于
重定向\u uri
中包含带有查询参数的url(如
重定向\u uri=encodeURIComponent(http://example.com/callback?query=string)


如果重定向url与linkedin完全不同,则linkedin将在显示您的登录表单之前向您显示一个错误,但如果重定向url与您在linkedin应用程序中指定的内容相匹配,并且包含额外的查询参数,则不会出现错误,因此,一旦提交登录表单,您将收到一个无效代码,并因此产生上述错误。

,我也遇到过同样的问题,下面是我解决这个问题的过程

步骤1:身份验证

  • 首先,点击认证API获取认证令牌
  • 为此,带有编码的参数的URL将作为GET请求命中
  • 示例:
    https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=[您的\u客户端\u id]&重定向\u uri=http%3A%2F%2LocalHost%3A8080%2LinkedIn%2Callback&scope=r\u电子邮件地址
  • 请注意,这里的参数是通过编程进行编码的
  • 我的非编码回调URL是:
  • 因此,我的编码URL是:http%3A%2F%2Flocalhost%3A8080%2Flinkedin%2Fcallback
  • 一旦您将此作为GET请求点击,您将收到一个带有
    code
    和可选
    state
    参数的回调

    步骤2:获取访问令牌:

    此呼叫有三个先决条件:

  • 呼叫必须是
    POST
  • 它必须有一个标题
    内容类型
    ,其值为
    应用程序/x-www-form-urlencoded
  • 数据必须在请求正文中发送
  • 重定向\u url的值必须与上一次调用中的值相同
  • 就我而言,它是:
  • 这里的技巧是,调用(步骤1身份验证)是一个GET请求。因此,
    redirect\u url
    必须进行编程编码

    由于对的第二个调用是
    POST
    ,并且也是
    application/x-www-form-urlencoded
    编码的,因此请求主体参数不必显式编码。因此,在这种情况下,
    重定向uri
    将按原样发送()

    以下是我通过postman访问令牌API的快照:

    我也遇到了同样的问题,在我的案例中,我使用了不同的
    重定向uri
    进行授权和访问令牌。在我的
    包.json中有
    “proxy:”localhost:3001“
    ,它覆盖了我的
    请求uri


    因此,我的建议是:确保两个请求(后端和服务器端)的主机和重定向uri都是相同的。

    不是编程问题,而是供应商API的问题。可以详细解释一下,错误是什么?请你把你的答案贴出来,这样会有帮助的。我得到的是accessToken,但没有得到secretToken的值!!知道吗,我也有同样的错误。无法获取访问令牌。甚至在我从params获取“code”之前,它就抛出了一个异常;但我得到以下错误..当尝试生成访问令牌时无法检索访问令牌:appid/重定向uri/代码验证程序与授权代码不匹配。或授权码已过期。或者外部成员绑定存在有人告诉我我的代码出了什么问题吗?@KetavChotaliya,你是如何解决错误的?你能把你的答案贴在这里吗?你能帮帮我吗,因为我也面临同样的问题。我尝试了很多方法。共享我的问题链接
    https://stackoverflow.com/questions/52501144/unable-to-get-access-token-linkedin-oauth
    这些权限仍然有效吗?我只看到了r_emailaddress`和r_liteprofile,其他所有内容似乎都被linkedin删除了。快照和关于“编码”或“非编码”URL的详细信息解决了我的问题