2016-09-07 48 views
4

嗨,大家好我正在使用LinkedIn API並試圖提出請求,但是當我嘗試獲取我的accesstoken時,我在我的json打印中收到以下錯誤:LinkedIn OAuth a required parameter「clien_id」is missing

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>'; 

?> 

回答

4

我發現這個問題

它需要在一個字符串。

所以這個:

curl_setopt($curl, CURLOPT_POSTFIELDS, $data); 

成了這樣:

curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data)); 

捲曲或LinkedIn似乎它有點敏感。

+0

這麼多幫助 – MagicHat

相關問題