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 }}">
我无法获取他们在点击 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 }}">