卷曲获得Linkedin Acces Token时出错

时间:2015-07-15 09:37:06

标签: php api curl linkedin

我需要在Linkedin上显示我的公司更新,因此我创建了一个Linkedin APP。我需要使用我的应用程序在Linkedin中验证OAuth2,而不是访问我网站的用户。

我正在尝试使用curl获取访问令牌,但我总是遇到此错误:

  

string(153)“{”error_description“:”缺少必需的参数,   包含无效参数值,参数不止一次。 :   CLIENT_ID “ ”错误“: ”INVALID_REQUEST“}”

我的代码是:

$code = isset($_REQUEST['code'])?$_REQUEST['code']:"";                

        $curl_request = curl_init();
        curl_setopt_array($curl_request, array(
            CURLOPT_RETURNTRANSFER => 1,
            CURLOPT_URL => "https://www.linkedin.com/uas/oauth2/accessToken",
            CURLOPT_POST => 1,
            CURLOPT_HTTPHEADER => array('Content-Type: application/x-www-form-urlencoded'),
            CURLOPT_POSTFIELDS => array(
                grant_type => "authorization_code",
                code => $code,
                redirect_uri => LINKEDIN_CALLBACK_URL,
                client_id => LINKEDIN_API_KEY,
                client_secret =>  LINKEDIN_API_SECRETE_KEY
            )
        ));

        $curl_result = curl_exec($curl_request);

        var_dump($curl_result);

1 个答案:

答案 0 :(得分:0)

LinkedIn的OAuth 2.0实施目前不支持双腿身份验证。您必须对特定成员进行身份验证 - 无论是当前活动的用户,还是您自己一次性身份验证的帐户,然后默默地重复使用该访问令牌并在60天内续订以防止它出现期满。

也就是说,您的错误似乎与您未正确制定从LinkedIn获取accessToken的请求有关,因为client_id参数未被识别。浏览OAuth 2.0文档,确保在整个身份验证过程中正确格式化HTTP请求:https://developer.linkedin.com/docs/oauth2