【问题标题】:Error with curl getting Linkedin Acces Tokencurl获取Linkedin访问令牌时出错
【发布时间】:2015-10-04 06:39:57
【问题描述】:

我需要从 Linkedin 显示我的公司更新,所以我创建了一个 Linkedin APP。我需要使用我的应用在 Linkedin 中使用 OAuth2 进行身份验证,而不是访问我网站的用户。

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

string(153) "{"error_description":"缺少必需的参数, 包含无效的参数值,参数不止一次。 : client_id","error":"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);

【问题讨论】:

    标签: php api curl linkedin


    【解决方案1】:

    LinkedIn 的 OAuth 2.0 实现目前不支持双向身份验证。您将必须向特定成员进行身份验证 - 无论是当前活跃用户,还是您自己的帐户,您进行了一次身份验证,然后默默地重复使用该访问令牌并每 60 天更新一次,以防止其过期。

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

    【讨论】:

      猜你喜欢
      • 2011-07-11
      • 2018-09-26
      • 2017-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-04
      • 2012-04-09
      • 2015-10-11
      相关资源
      最近更新 更多