скриншот API Google Insights для страницы Google — Laravel

У меня проблемы с получением скриншота Google API PageSpeed ​​Insights, который они предоставляют на веб-сайте при попадании в API. Я посмотрел на другие примеры, но ни один из них не работает для меня.

Это то, что я получаю, когда нажимаю на API.
Конечная точка API Google

И это мой контроллер:

   public function fetch() {

$key = env('GOOGLE_ANALYTICS_KEY');
$website = request('website_url');

$client = new \GuzzleHttp\Client();

$res = $client->request('GET', 'https://www.googleapis.com/pagespeedonline/v2/runPagespeed?url=http://' .$website. '&key=' . $key . '&screenshot=true');

if ($res->getStatusCode() == 200) {
$result = json_decode($res->getBody());

$data    = str_replace('_','/',$result->screenshot->data);
$data    = str_replace('-','+',$data);
$decoded = base64_decode($data);

return view('api.index', compact('result', 'decoded'));

} else {
return redirect()->back();
}
}

Я пытаюсь назвать это в переднем конце так:

<img src="data:image/jpeg;base64,'{{ $decoded }}">
// And like this
<img src="{{ $decoded }}">

Но просто получите пустой src = «»

0

Решение

Я понял.

Вот что я сделал в своем контроллере (не сильно меняя):

$result = json_decode($res->getBody());

$data    = str_replace('_','/',$result->screenshot->data);
$data    = str_replace('-','+',$data);

Вот как я назвал это в front-end:

 <img src="data:image/jpeg;base64,{{ $data }}">
0

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

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

По вопросам рекламы [email protected]