Я использую PHP 7.2 и cURL 7.53.1. Я пытаюсь использовать Google NEST REST API.
Я пытаюсь запрос CURL, как это:
curl_setopt_array($curl, array(
CURLOPT_URL => "https://developer-api.nest.com",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION=>true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Content-Type: application/json",
"Authorization: Bearer ".$authkey,
),
CURLINFO_HEADER_OUT=>true
));
$response = curl_exec($curl);
var_dump($response);
var_dump(curl_getinfo($curl, CURLINFO_HEADER_OUT));
И я вижу это:
string(181) "{"error":"unauthorized","type":"https://developer.nest.com/documentation/cloud/error-messages#auth-error","message":"unauthorized","instance":"63d53235-5548-4d4f-b791-360c53baef4a"}"string(165) "GET / HTTP/1.1
Host: firebase-apiserver14-tah01-iad01.dapi.production.nest.com:9553
Accept: */*
Accept-Encoding: deflate, gzip
Content-Type: application/json
"
Похоже, что запрос к developer-api.nest.com был перенаправлен на firebase-apiserver14-tah01-iad01.dapi.production.nest.com:9553. ОК … Но при последующем запросе cURL не отправляет заголовок авторизации. Любопытно, что он отправляет заголовок Content-type …
Запрос не выполняется, потому что он не авторизован.
Любая помощь приветствуется. ура
Задача ещё не решена.
Других решений пока нет …