【问题标题】:LinkedIn Get Token Access via PHP cUrl FailLinkedIn 通过 PHP cUrl 获取令牌访问失败
【发布时间】:2017-10-27 00:36:04
【问题描述】:

我尝试在我的网站中使用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 中。

有什么帮助吗?,

非常感谢。

【问题讨论】:

标签: php curl linkedin access-token


【解决方案1】:

CURLOPT_CUSTOMREQUEST => "GET"

并删除CURLOPT_HTTPHEADER选项,没用。

【讨论】:

  • 我不太明白发生了什么,但它确实有效。 ~
  • 不要对 GET 和 POST 请求使用 CUSTOMREQUEST,使用 CURLOPT_HTTPGETCURLOPT_POST
猜你喜欢
  • 2015-10-04
  • 2022-09-26
  • 2012-06-19
  • 1970-01-01
  • 1970-01-01
  • 2014-02-03
  • 1970-01-01
  • 2012-09-04
  • 2018-09-26
相关资源
最近更新 更多