В настоящее время я занимаюсь созданием системы автоматизации SmartHome. Я использую Laravel PHP в моем облаке. Я завершил аутентификацию Oauth2 и отправил команды из Google Home App на мои устройства (я использовал MQTT для связи с моими устройствами).
Я уже успешно реализовал SYNC
, QUERY
и EXECUTE
. и теперь я хочу синхронизировать комнаты и структуры, для которых мне нужно использовать Homegraph API. Есть ли кто-нибудь, кто может помочь мне интегрировать Homegraph APi в мой Smarthome, потому что я сталкиваюсь здесь с проблемой аутентификации JWT? Мое приложение основано на laravel, поэтому я не могу использовать примеры кодов. Я пытался так:
$jsonFile = json_decode(file_get_contents('./key.json'), true);
$client = new \GuzzleHttp\Client();
$payload = [
"iss" => $jsonFile['client_email'],
"scope" => "https://www.googleapis.com/auth/homegraph",
"aud" => "https://accounts.google.com/o/oauth2/token",
"iat" => date("h:i:sa"),
"exp" => date("h:i:sa", strtotime('+1 hour'))
];
$jwt = JWT::encode($payload, $jsonFile["private_key"], 'RS256');
$header = array("Authorization" => "Bearer " . $jwt, "Content-Type" => "application/json");
try {$response = $client->get( "https://accounts.google.com/o/oauth2/token", [
"headers" => $header]);
} catch (\Exception $e) {
dd($e);
}
Я получаю сообщение об ошибке
Client error: `GET https://accounts.google.com/o/oauth2/token` resulted in a `404 Not Found` response:
<!DOCTYPE html>
<html lang=en>
<meta charset=utf-8>
<meta name=viewport content="initial-scale=1, minimum-scale=1, w (truncated...)
Я перехожу по этой ссылке http ссылка