google 页面洞察 api 屏幕截图 - Laravel

google page insights api screenshot - Laravel

我无法获取他们在点击 API 时提供的网站的 Google API PageSpeed Insights 屏幕截图。我看过其他示例,但 none 似乎对我有用。

这是我点击 API 时得到的结果。

这是我的控制器:

   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=""

我明白了。

这是我在我的控制器中所做的(没有太大变化):

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

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

我在前端是这样调用的:

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