首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将LIFX电源的请求打开/关闭

将LIFX电源的请求打开/关闭
EN

Stack Overflow用户
提问于 2015-05-17 07:16:58
回答 1查看 586关注 0票数 0

我正试图用PHP为我所有的Lifx灯泡断电。

API文档http://developer.lifx.com/说要使用PUT请求:

代码语言:javascript
运行
复制
curl -u "c87c73a896b554367fac61f71dd3656af8d93a525a4e87df5952c6078a89d192:" \
       -X PUT \
       -d "state=on" \
       "https://api.lifx.com/v1beta1/lights/all/power"

现在,使用curl命令在命令行中工作。它提示我输入密码,除非我在“用户名”的冒号后面添加密码。

问题是,当我尝试将该命令转换为PHP时,如下所示:

代码语言:javascript
运行
复制
$authToken = 'c87c73a896b554367fac61f71dd3656af8d93a525a4e87df5952c6078a89d192:myFakePassword';
$ch = curl_init('https://api.lifx.com/v1beta1/lights/all/power');
$headers = array("selector=all&state=on",'Authorization: Bearer ' . $authToken);
curl_setopt($ch, CURLOPT_PUT, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);

这是通过的,但是我得到了一个404 Not,Lifx文档说它可能是一个格式错误的选择器。

注意:我通过PHP成功地调用了这个帖子:

代码语言:javascript
运行
复制
$authToken = 'c87c73a896b554367fac61f71dd3656af8d93a525a4e87df5952c6078a89d192';
$ch = curl_init('https://api.lifx.com/v1beta1/lights/all/toggle');
$headers = array("selector=all",'Authorization: Bearer ' . $authToken);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);

但我不想只是打开灯,我想要能够指定开或关。我的提交请求会有什么问题?

谢谢你的建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-19 23:43:24

通过设置其他卷曲选项解决了这个问题:

代码语言:javascript
运行
复制
$ch = curl_init($link);
$headers = array('Authorization: Bearer ' . $authToken);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$data = "state=on";
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);

$link是https://api.lifx.com/v1beta1/lights/all/power

$authToken是我的api密钥

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30284346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档