PHP-curlapi令牌检索

PHP-curlapi令牌检索,php,curl,Php,Curl,我已经在多个板子上阅读了所有内容,但都没有成功…需要大脑的信任 我得到的是: HTTP/1.1 400错误请求 预加载{“错误”:“不支持的授权类型”} 我的目标是:从FQDN/api/token端点检索OAuth令牌 我有:端点、用户名和密码(无秘密或密钥) 我可以从shell中卷曲并获取令牌-我只是无法让php来完成它>/ 我的代码不再是我的了,因为我很确定我是问题的根源,但以下是我目前正在尝试使用的:(有人能指出我在哪里做木偶吗!) 根据注释,您需要发送键值对: $data = array

我已经在多个板子上阅读了所有内容,但都没有成功…需要大脑的信任

我得到的是:

HTTP/1.1 400错误请求
预加载{“错误”:“不支持的授权类型”}

我的目标是:从FQDN/api/token端点检索OAuth令牌

我有:端点、用户名和密码(无秘密或密钥)

我可以从shell中卷曲并获取令牌-我只是无法让php来完成它>/

我的代码不再是我的了,因为我很确定我是问题的根源,但以下是我目前正在尝试使用的:(有人能指出我在哪里做木偶吗!)


根据注释,您需要发送键值对:

$data = array(
"grant_type" => "password",
"username" => "username",
"password" => "password"
)
curl_setopt($ch,CURLOPT_POSTFIELDS, http_build_query($data));

“内容类型:application/x-www-form-urlencoded”与您在Postfields中发送JSON的事实不一致。您可能混淆了服务器。切换到以querystring格式发送数据,或者将内容类型更改为application/jsontnku以获取详细信息。将x-ww-更改为json,但仍然存在完全相同的错误/问题。在这种情况下,您最好检查API的文档,看看“password”是否被视为“grant type”的有效值。您的工作shell curl是什么样子的?这里您发布的是x-www数据,而不是json,那么为什么要尝试在php中发布json呢?
$data = array(
"grant_type" => "password",
"username" => "username",
"password" => "password"
)
curl_setopt($ch,CURLOPT_POSTFIELDS, http_build_query($data));