2017-08-08 89 views
1

我一直在關注這個guide和LinkedIn的API獲得訪問令牌,因爲它提到我做了以下要求使用PHP 7.1.7,以獲得和的access_token捲曲不能設法從使用OAuth 2.0

function httpRequest($url, $auth_header, $method, $body = NULL){ 

    if (!$method){$method = "GET";} 
    $curl = curl_init(); 
    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_HEADER, 0); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($curl, CURLOPT_HTTPHEADER, array($auth_header)); // Set the headers. 

    if ($body) { 
     curl_setopt($curl, CURLOPT_POST, 1); 
     curl_setopt($curl, CURLOPT_POSTFIELDS, $body); 
     curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method); 
     curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: application/x-www-form-urlencoded")); 
    } 
    $data = curl_exec($curl); 
    curl_close($curl); 
    return $data; 
} 

然後我讓POST請求是這樣的:

$post_data = httpRequest("www.linkedin.com/oauth/v2/accessToken",$auth_header, "POST", $body); 

其中

$auth_header = null; 
$code = $_GET['code']; 
$body = "grant_type=authorization_code&code=".$code."&redirect_uri=".$config['callback_url']."&client_id=".$config['linkedin_access']."&client_secret=".$config['linkedin_secret']; 

我知道,我得到正確的授權碼,但由於某種原因,我沒能得到

的access_token

既不

expires_in

相反,我m得到以下錯誤

{ 「錯誤」: 「https_required」, 「ERROR_DESCRIPTION」: 「客戶端未被授權」}

預先感謝。

+0

我已經固定它。 相反 $ post_data =的HttpRequest( 「www.linkedin.com/oauth/v2/accessToken」 ...... 應當 $ post_data =的HttpRequest(「https://www.linkedin.com/oauth/v2/accessToken 」 ... –

回答