Недопустимое смещение строки ‘name’, код работал с примером ответа json

В настоящее время я работаю над сайтом, чтобы контролировать мои SmartBulbs дома через веб-страницу. Для этого я использую предоставленный API.

Я попробовал свой код на примере ответа json с сайта производителя. Все работало нормально, и все источники света, перечисленные в примере ответа, представлены в виде div с именами источников света.

Когда я попробовал свой код дома (называемый API, как в коде), я получил правильный ответ, но я также получил ошибку, которая гласила Недопустимое смещение строки ‘label’. Что я делаю неправильно?

Все работало нормально, когда я использовал пример ответа. Ответ, когда я использую API, выглядит для меня одинаково. Разве это не должно работать тогда?

Вы можете найти все ниже. Если вам нужна дополнительная информация, просто спросите 🙂

PHP-код

function get_lights(){

$link = "https://api.lifx.com/v1/lights/all";
$authToken = "I inserted my token here and got a valid response";

$ch = curl_init($link);
$headers = array('Authorization: Bearer ' . $authToken);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, $headers);
$response = curl_exec($ch);

$json = json_decode($response, true);

$html = null;
foreach($json as $object)
{
$html.= '<div class="element" onclick="get_info();">' . $object['label'] . '</div>';
}

return $html;

}

пример ответа

[
{
"id": "d3b2f2d97452",
"uuid": "8fa5f072-af97-44ed-ae54-e70fd7bd9d20",
"label": "Left Lamp",
"connected": true,
"power": "on",
"color": {
"hue": 250.0,
"saturation": 0.5,
"kelvin": 3500
},
"infrared": "1.0",
"brightness": 0.5,
"group": {
"id": "1c8de82b81f445e7cfaafae49b259c71",
"name": "Lounge"},
"location": {
"id": "1d6fe8ef0fde4c6d77b0012dc736662c",
"name": "Home"},
"last_seen": "2015-03-02T08:53:02.867+00:00",
"seconds_since_seen": 0.002869418,
"product": {
"name": "LIFX+ A19",
"company": "LIFX",
"identifier": "lifx_plus_a19",
"capabilities": {
"has_color": true,
"has_variable_color_temp": true,
"has_ir": true,
"has_multizone": false
}
}
}
]

мой ответ API

  [
{
"id":"d073d513bfd6",
"uuid":"02ea5835-9dc2-4323-84f3-3b825419008d",
"label":"MainLight",
"connected":true,
"power":"on",
"color":{
"hue":27.581597619592586,
"saturation":0.0,
"kelvin":2500
},
"zones":null,
"brightness":0.49999237048905165,
"group":{
"id":"d5aa0e1180293e0af56607cbe47f4940",
"name":"MyRoom"},
"location":{
"id":"451e4b376a38062cdd10c54ab2698975",
"name":"My Home"},
"product":{
"name":"Color 1000",
"identifier":"lifx_color_a19",
"company":"LIFX",
"capabilities":{
"has_color":true,
"has_variable_color_temp":true,
"has_ir":false,
"has_multizone":false
}
},
"infrared":null,
"last_seen":"2017-02-18T21:40:58.164+00:00",
"seconds_since_seen":0.001675218
}
]

1

Решение

Вы устанавливаете неправильную опцию для своего дескриптора cURL:

$ch = curl_init($link);
$headers = array('Authorization: Bearer ' . $authToken);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector