我目前正在尝试使用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请求本身
提前感谢。
HTTP状态码
所以,尝试这个:
echo $url;
exit;
之前:
$ch = curl_init ($url);
并将该网址复制粘贴到您的浏览器地址栏中。查看您要在哪里发布错误的参数。
看,如果有帮助。
我认为开发人员和检查人员正在同一端口上运行。因此,通过设置“检查”来删除节点上要检查的端口和主机:false
angular.json
"serve": {
"builder": "@nrwl/node:execute",
"options": {
"buildTarget": "api:build",
"inspect": false
}
},