1

LinkedIn API でユーザーを認証しようとすると、この奇妙なエラーが発生します。データの var_dump() はこれを示しています:

string(156) "{"error_description":"missing required parameters, includes an invalid parameter value, parameter more than once. : ssl required","error":"invalid_request"}" 

なぜこれが起こっているのか、誰でもこの問題について私を助けることができるのかわかりません。

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, "https://www.linkedin.com/uas/oauth2/accessToken?");
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/x-www-form-urlencoded',
    ));
    curl_setopt($ch, CURLOPT_POSTFIELDS, array(
        'grant_type'    => 'authorization_code',
        'client_id'     => $account['linkedin']['api_key'],
        'client_secret' => $account['linkedin']['api_secret'],
        'code'          => $_GET['code'],
        'redirect_uri'  => get_admin_url() . 'admin.php?page=' . self::$accounts_dashboard_page . '&linkedin=authorization&account=' . urlencode($account['id']),
    ));

    $response = curl_exec($ch);
    curl_close($ch);

    var_dump($response);
4

2 に答える 2

0

私も同じエラーが発生しましたが、パラメーターの送信方法を変更することで機能しました。配列の代わりに、典型的な QUERY_STRING のように送信しました。

つまり:

curl_setopt($ch, CURLOPT_POSTFIELDS,'grant_type=authorization_code&client_id=XXXXXXX&client_secret=ZZZZZZZ&code=YYYYY&redirect_uri=/path/to/your/redirect/uri')

理由はわかりませんが、私にとってはうまくいきました...

于 2016-10-26T14:59:38.273 に答える