Я пытаюсь включить или выключить все мои лампы Lifx с помощью PHP.PHP HTTP CURL PUT запрос для LIFX Включение/выключение питания
Документация API, http://developer.lifx.com/, говорит использовать запрос PUT:
curl -u "c87c73a896b554367fac61f71dd3656af8d93a525a4e87df5952c6078a89d192:" \
-X PUT \
-d "state=on" \
"https://api.lifx.com/v1beta1/lights/all/power"
Теперь с помощью этого локон команда работает в командной строке. Он запрашивает мой пароль, если я не добавлю его после двоеточия в «имя пользователя».
Беда в том, когда я пытаюсь перевести эту команду в PHP как так:
$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 Found, который говорит, что документация Lifx вероятно уродливый селектор.
Примечание: Я был в состоянии сделать успешный вызов с PHP, чтобы переключить питание с этим POST:
$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);
Но я не хочу, чтобы просто переключать свет, я хочу, чтобы иметь возможность указать вкл. или выкл. Что может быть неправильным с моим запросом PUT?
Благодарим за любые предложения.