当前位置: 首页 > 知识库问答 >
问题:

缺少必需的参数,包括无效的参数值,LinkedIn API中的参数出现多次

徐佐
2023-03-14

我尝试使用OAuth2使用LinkedIn API进行身份验证。代码:

if ((isset($_GET["code"])) AND (isset($_GET["state"]))) {
        $code = $_GET["code"];
        $state = $_GET["state"];

        $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_POSTFIELDS => array(
                grant_type => "authorization_code",
                code => "$code",
                redirect_uri => "SECRET",
                client_id => "SECRET",
                client_secret => "SECRET"
            )
        ));

        $curl_result = curl_exec($curl_request);

        var_dump($curl_result);

}

我收到了这条信息:

字符串(153) "{"error_description ":"缺少必需的参数,包含无效的参数值,参数出现多次。:client_id ","错误":" invalid_request"} "

你能帮我吗?

共有3个答案

萧英睿
2023-03-14

我对此感到奇怪,但我只是遇到了同样的问题,当我刚刚将客户端 ID 和秘密移动到 POST 数组的开头并且一切正常时。我什至没有。

洪经义
2023-03-14

使用:http_build_query

curl_setopt_array($curl, array(
            CURLOPT_HTTPHEADER => array('Content-Type: application/x-www-form-urlencoded'),
            CURLOPT_RETURNTRANSFER => 1,
            CURLOPT_URL => 'https://www.linkedin.com/uas/oauth2/accessToken',
            CURLOPT_POST => 1,
            CURLOPT_POSTFIELDS => http_build_query (array(
                client_id => "secret",
                client_secret => "secret",
                grant_type => "authorization_code",
                redirect_uri => "url",
                code => $code
            )),
        ));
邓赤岩
2023-03-14

您需要在cURL POST调用中添加以下标头,以确保正确解释POST正文中传递的值:

内容类型:application/x-wwww-form-urlencoded

有关其他信息,请参阅实际OAuth 2.0 RFC规范的https://www.rfc-editor.org/rfc/rfc6749#section-4.1.3。

 类似资料:
  • 问题内容: 我有一个重写版本discord.py。如果消息中包含内容,则不会发生错误。如果消息中内容不存在,则我希望该错误不会发生。 我的代码: 完整回溯: 问题答案: 命令解析参数的方式意味着定义 表示需要单词作为命令调用的一部分。如果您想捕获消息的其余部分,则可以使用仅关键字参数语法: 此功能在此处记录。

  • 问题内容: 我正在开发一个游戏作为附带项目,很有趣,但是遇到了这个错误,我真的不知道为什么会发生… 这是代码: 我这样称呼它: 我得到的错误是: 有任何想法吗? 问题答案: 您不应直接调用类方法,而应创建该类的实例: 要详细说明该错误,您将得到: TypeError:turn()缺少1个必需的位置参数:“ playerImages” 这是因为需要第一个参数()的实例。类方法总是将实例作为第一个参数

  • 我无法通过错误: 我检查了几个教程,但似乎没有什么不同于我的代码。我唯一能想到的是Python3.3需要不同的语法。 如果我理解正确,会自动传递给构造函数和方法。我做错了什么?

  • 在我的MEAN Stack应用程序中使用(可在此处找到:https://github.com/jaredhanson/passport-google-oauth)。当我运行应用程序并尝试使用Google API登录时,将返回此错误 错误:invalid_request 请求详细信息scope=https://www.googleapis.com/auth/plus.login response_t

  • 我正试着跟着弗利特酒吧走。Cognito和AWS用户身份验证的开发文档。我正在构建一个Flatter移动应用程序,并且能够成功地将用户注册到我的AWS用户池中。我试图编码的登录功能,但它不会注册任何参数,我试图给它。i、 e密码和用户名(电子邮件) 我试着重新启动电脑,Android Studio,尝试遵循所有AWS文档,并在上面重新编写代码https://pub.dev/packages/ama

  • 我在使用Google OAuth2进行身份验证时遇到困难。 我已经从google开发者控制台获得了客户端ID和密码,我得到了以下代码: 但我从谷歌得到这个错误: 错误:invalid_request 缺少必需的参数:client_id 了解更多 请求详细信息client _ id = redirect _ uri = http://127 . 0 . 0 . 1:8080/auth respons