使用Nest API进行授权时出现400错误请求

问题描述 投票:0回答:2

我目前正在尝试使用Nest API,但无法通过授权部分。这是我用来调用API的PHP代码:

//access token url used for authorization 
$url="https://api.home.nest.com/oauth2/access_token?code=".$_GET['pin']."&client_id=".$api_key."&client_secret=".$secret_key."&grant_type=authorization_code"; 
$ch = curl_init ($url);

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);

//https
curl_setopt($ch, CURLOPT_SSLVERSION,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_POST,true);

//to have headers in response
curl_setopt($ch, CURLOPT_HEADER, 1);

$result = curl_exec ($ch);
if($result){ 
    echo "Result : " .$result;
}else{
    echo curl_error($ch);
}

并且我得到以下结果:

Result : HTTP/1.1 200 Connection established HTTP/1.1 400 BAD_REQUEST Content-Length: 0 Connection: Close 

我还需要设置其他选项以使其正常工作吗?

编辑:生成的URL($ url)与HTTPRequester(Firefox插件)配合良好,因此问题肯定来自curl请求本身

提前感谢。

php curl nest-api
2个回答
0
投票

HTTP状态码

  • 400-错误的请求-通常在错误的参数为赋予方法

所以,尝试这个:

echo $url;
exit;

之前:

$ch = curl_init ($url);

并将该网址复制粘贴到您的浏览器地址栏中。查看您要在哪里发布错误的参数。

看,如果有帮助。


0
投票

我认为开发人员和检查人员正在同一端口上运行。因此,通过设置“检查”来删除节点上要检查的端口和主机:false

angular.json

"serve": {
  "builder": "@nrwl/node:execute",
  "options": {
    "buildTarget": "api:build",
    "inspect": false
  }
},  
© www.soinside.com 2019 - 2024. All rights reserved.