2016-09-07 62 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

相关问题