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