我需要在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);
答案 0 :(得分:0)
LinkedIn的OAuth 2.0实施目前不支持双腿身份验证。您必须对特定成员进行身份验证 - 无论是当前活动的用户,还是您自己一次性身份验证的帐户,然后默默地重复使用该访问令牌并在60天内续订以防止它出现期满。
也就是说,您的错误似乎与您未正确制定从LinkedIn获取accessToken的请求有关,因为client_id
参数未被识别。浏览OAuth 2.0文档,确保在整个身份验证过程中正确格式化HTTP请求:https://developer.linkedin.com/docs/oauth2