LinkedIn通过PHP获取令牌访问cUrl失败

时间:2017-05-26 07:35:30

标签: php curl linkedin access-token

我尝试在我的网站上使用linkedIn创建一个注册函数。

如您所知,linkedIn具有两步验证以获取访问令牌。

请参阅StackOverflow,在此处回答:Click here

从上面的帖子中, 我尝试用PHP cUrl做第二步。

$url = "https://www.linkedin.com/oauth/v2/accessToken?grant_type=authorization_code&code=" . $_GET['code'] . "&redirect_uri=A_URL&client_id=MY_CLIENT_ID&client_secret=SECRET";
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL            => $url,
  CURLOPT_SSL_VERIFYPEER => false,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST  => "POST",
  CURLOPT_TIMEOUT        => 1000,
  CURLOPT_HTTPHEADER     => array(
    "Content-Length: 1000" 
  )
));

$response = curl_exec($curl);
$err      = curl_error($curl);

curl_close($curl);

if (!$err) {
  $response = json_decode($response);
} else {
  throw new exception(__METHOD__ . '() ' . $err . ', on line : ' . __LINE__);
}

但是当执行curl_exec()时,页面无限加载。

我不知道我的错误是什么。我尝试通过url框手动运行$url,它会成功返回一个令牌和过期时间。所以,我总结出错误是在cUrl。

任何帮助人员?,

非常感谢。

1 个答案:

答案 0 :(得分:0)

CURLOPT_CUSTOMREQUEST => “GET”

并删除CURLOPT_HTTPHEADER选项,这没用。