Rest LinkedIn API::如何获取承载访问令牌

Rest LinkedIn API::如何获取承载访问令牌,rest,get,postman,linkedin,linkedin-api,Rest,Get,Postman,Linkedin,Linkedin Api,使用官方的LinkedIn API并不容易,我找不到有效的文档 接下来,我创建了一个新的应用程序以获取客户机ID和客户机机密 当我现在通过邮递员打电话给我时,我得到的是: { "error": "invalid_grant_type", "error_description": "The passed in grant_type is invalid" } 我错在哪里 在@Amit Singh的帮

使用官方的LinkedIn API并不容易,我找不到有效的文档

接下来,我创建了一个新的应用程序以获取客户机ID和客户机机密

当我现在通过邮递员打电话给我时,我得到的是:

{
    "error": "invalid_grant_type",
    "error_description": "The passed in grant_type is invalid"
}

我错在哪里

在@Amit Singh的帮助后编辑

由于@amitsigh,我能够创建两个不同的应用程序,因此使用客户端凭据流进行测试时,我在检索令牌时出错:

当我尝试使用LinkedIn三条腿工作流时,我收到了未经授权的

编辑3:通过邮递员到达那里

我现在看到我可以让邮递员来做这项工作,但是当我按下
Get New Access Token
时,它会打开一个错误页面。我认为错误可能存在于以下四个方面:

  • 令牌名称
    :也许我必须给出一个特殊的令牌名称
  • Auth URL
    :我设置了
    https://www.getpostman.com/oauth2/callback
    如前所述,但我可能需要设置其他设置
  • 访问令牌URL
    :我把它留空了,也许我必须在这里放一些东西
  • State
    :我设置了一个随机字符串,比如
    Hello123Boy
    ,但可能我必须放一些别的东西。也许太长了。可能太短了。也许它必须包含符号等等
…此外,在附录中,it指出应用程序需要具备:

  • r_-liteprofile
  • rw_公司_管理
  • w_成员_社会
我的什么都没有:

最近创建的项目仍在审查中。它说这可能需要90天。这是真的吗

第四版编辑:我要相信

我们到了,至少现在我得到了一个错误:
Bummer,出了点问题。重定向uri与注册值不匹配
。这是惊人的:最后一个错误指出了问题所在

在应用程序的“产品”选项卡上,我选择“使用LinkedIn登录”
。作为 您的应用程序的授权重定向URL I set
https://www.getpostman.com/oauth2/callback

在Postman I设置中,
Auth URL
Access Token URL
如您所说:


假设您已经创建了应用程序,添加了正确的重定向URL并为应用程序启用了“”产品,那么您遇到的问题可能是第一次呼叫返回了一个登录页面,您的用户应该在该页面上进行身份验证

  • 将请求提交到
    https://www.linkedin.com/oauth/v2/authorization
    (您似乎已经这样做了)
  • 解析步骤1的响应并提取所有表单值,添加用户名和密码以模拟用户登录
  • 发出POST请求并使用上一步中的值作为
    x-www-form-urlencoded
    数据
  • 手动执行步骤3中的重定向标题
  • 记下第二个重定向头,但不要跟随它-而是提取代码
  • 将上一步骤中的代码张贴到
    https://www.linkedin.com/oauth/v2/accessToken
    并获取访问令牌作为响应
  • 从这里开始,我可以通过以下步骤成功地转换到auth代码。 我不确定您是否使用在线邮递员,但以下是我的完整收藏导出文件供参考:

    {
    “信息”:{
    “_postman_id”:“397761c9-4287-43f2-860a-3c34cb710d50”,
    “名称”:“Linkedin oAuth”,
    “架构”:https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    “项目”:[
    {
    “名称”:“01请求登录表”,
    “事件”:[
    {
    “倾听”:“测试”,
    “脚本”:{
    “执行官”:[
    “const$=cheerio.load(pm.response.text());\r”,
    “变量输入=$('form').serializeArray();\r”,
    “var有效负载=”;\r“,
    “inputs.forEach(i=>{\r”,
    “有效负载+=encodeURIComponent(i.name)+'='+encodeURIComponent(i.value)+'&';\r”,
    “})\r”,
    “有效负载+='session_key='+encodeURIComponent(pm.collectionVariables.get('username'))+'&'\r”,
    “有效负载+='会话\密码='+编码器组件(pm.collectionVariables.get('password'))\r”,
    “\r”,
    pm.collectionVariables.set(\“form\u data\”,有效负载)
    ],
    “类型”:“文本/javascript”
    }
    }
    ],
    “请求”:{
    “方法”:“获取”,
    “标题”:[],
    “url”:{
    “原始”:https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id={{client_id}}&redirect_uri={{redirect_uri}}&scope=r_liteprofile&state={{$guid}”,
    “协议”:“https”,
    “主持人”:[
    “www”,
    “linkedin”,
    “com”
    ],
    “路径”:[
    “非统组织”,
    “v2”,
    “授权”
    ],
    “查询”:[
    {
    “键”:“响应类型”,
    “值”:“代码”
    },
    {
    “密钥”:“客户端id”,
    值“{{client_id}}”
    },
    {
    “密钥”:“重定向uri”,
    值“{redirect_uri}}”
    },
    {
    “关键”:“范围”,
    
    {
        "error": "access_denied",
        "error_description": "This application is not allowed to create application tokens"
    }
    
    Request URL: https://www.linkedin.com/v2/jobs
    Request type: GET
    
    Parameters
    Authorization: Bearer <access_token>
    
    Request URL: `https://www.linkedin.com/v2/me`
    Request type: GET
    
    Parameters:
    Authorization: Bearer <access_token>