我正在尝试生成访问令牌来收集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
Run Code Online (Sandbox Code Playgroud)
使用API密钥我使用URL 生成authorization_code:
但是当我最终尝试使用以下URL生成访问令牌时,我收到了错误响应:
{"error_description":"缺少必需参数,包括无效参数值,参数多次.:无法检索访问令牌:appId或重定向uri与授权代码或授权代码过期不匹配","错误":"invalid_request" }
即使经过多次验证,也会出现相同的错误消息.
请帮忙.谢谢.
Mon*_*nis 10
好吧,我遇到了同样的问题,这是我修复它的过程。
步骤#1:身份验证:
https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=[your_client_id]&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Flinkedin%2Fcallback&scope=r_emailaddress一旦您将其作为 GET 请求命中,您将收到带有 acode和可选state参数的回调。
步骤#2:获取访问令牌:
此调用有三个先决条件:
POSTContent-Type带有值的标头application/x-www-form-urlencodedredirect_url 必须与上一次调用中的值相同。现在这里的技巧是,(STEP#1 Authentication)中的调用是一个 GET 请求。因此,redirect_url必须以编程方式编码。
由于第二次调用 isPOST并且也被application/x-www-form-urlencoded编码,因此请求正文参数不必显式编码。因此,在这种情况下,redirect_uri将按原样发送(http://localhost:8080/linkedin/callback)
我的问题是redirect_uri其中包含带有查询参数的 url(如redirect_uri=encodeURIComponent(http://example.com/callback?query=string))。
如果重定向 url 完全不同,linkedin 会在显示登录表单之前向您显示错误,但如果 redirect_url 与您在linkedin 应用程序中指定的内容相匹配并且包含额外的查询参数,您将不会收到错误信息,因此一旦提交了登录表单,您就可以“会得到一个无效的代码,结果是上面的错误。
| 归档时间: |
|
| 查看次数: |
12782 次 |
| 最近记录: |