tiempo test speedpagegoogle speed page insights grader google español carga php api curl google-api pagespeed

php - test - speedpagegoogle



La API de Google PageSpeed ​​Insights no funciona (2)

Soy un principiante en PHP, ¿entonces alguien podría ayudar a solucionarlo? Mi aplicación web muestra el error de la API de Google PageInsights.

Aquí está el código, intenté cambiar la versión a / v2 /, pero todavía no funcionó ...

public function getPageSpeed($domain, $api = "") { try { $callback_url = "https://www.googleapis.com/pagespeedonline/v1/runPagespeed?"; $data = array( ''url'' => ''http://'' . $domain, ''key'' => (empty($api) ? $_SESSION[''GOOGLEAPI_SERVERKEY''] : $api), ''fields'' => ''score,pageStats(htmlResponseBytes,textResponseBytes,cssResponseBytes,imageResponseBytes,javascriptResponseBytes,flashResponseBytes,otherResponseBytes)'' ); $curl_response = $this->curl->get($callback_url . http_build_query($data, '''', ''&'')); if ($curl_response->headers[''Status-Code''] == "200") { $content = json_decode($curl_response, true); $response = array( ''status'' => ''success'', ''data'' => array( ''pagespeed_score'' => (int)$content[''score''], ''pagespeed_stats'' => $content[''pageStats''] ) ); } else { $response = array( ''status'' => ''error'', ''msg'' => ''Google API Error. HTTP Code: '' . $curl_response->headers[''Status-Code''] ); } } catch (Exception $e) { $response = array( ''status'' => ''error'', ''msg'' => $e->getMessage() ); } return $response; }


<?php function checkPageSpeed($url){ if (function_exists(''file_get_contents'')) { $result = @file_get_contents($url); } if ($result == '''') { $ch = curl_init(); $timeout = 60; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $result = curl_exec($ch); curl_close($ch); } return $result; } $myKEY = "your_key"; $url = "http://kingsquote.com"; $url_req = ''https://www.googleapis.com/pagespeedonline/v1/runPagespeed?url=''.$url.''&screenshot=true&key=''.$myKEY; $results = checkPageSpeed($url_req); echo ''<pre>''; print_r(json_decode($results,true)); echo ''</pre>''; ?>


El código compartido por Siren Brown es absolutamente correcto, excepto que al obtener los puntajes necesitamos enviar el parámetro de consulta & strategy = mobile o & strategy = desktop para obtener los resultados respectivos de la API de velocidad de página.

$url_mobile = ''https://www.googleapis.com/pagespeedonline/v1/runPagespeed?url=''.$url.''&screenshot=true&key=''.$myKEY.''&strategy=mobile''; $url_desktop = ''https://www.googleapis.com/pagespeedonline/v1/runPagespeed?url=''.$url.''&screenshot=true&key=''.$myKEY.''&strategy=desktop'';