Интеграция API Homegraph в мой умный дом - PullRequest
0 голосов
/ 27 января 2020

В настоящее время я занимаюсь созданием системы автоматизации 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 ссылка

...