[英]LinkedIn OAuth a required parameter "client_id" is missing
我正在使用 LinkedIn API 并尝试发出请求,但是当我尝试获取访问令牌时,我的 json 打印中出现以下错误:
Array ( [error] => missing_parameter [error_description] => A required parameter "client_id" is missing )
这是我的代码:
<?php
$url = parse_url("https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");
parse_str($url['query'], $url);
$code = $url['code'];
$data = array("grant_type" => "authorization_code",
"code" => $code,
"redirect_uri" => "REDIRECT_URI",
"client_id" => "SECRET",
"client_secret" => "SECRET"
);
$url2 = "https://www.linkedin.com/oauth/v2/accessToken";
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_URL, $url2);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
curl_close($curl);
$result_array = json_decode($result, true);
print_r($result_array);
include('../twitter/navigatie.php');
echo '<div class="container">';
echo '';
echo '</div>';
?>
我发现了问题
它需要在一个字符串中。
所以这:
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
变成了这个:
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
Curl 或 LinkedIn 似乎对它有点敏感。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.