Следуя руководству Создайте свой собственный Google Pagespeed и Mobile Usability Отслеживание Google Sheet за 5 шагов Мне удалось настроить оценку скорости мобильного страницы для списка (до 50) URL.
Однако, начиная с конца 2017 года или около того, в отчете о работе пользователей Chrome имеются реальные данные, которые отображают среднее время загрузки в секундах для страницы на основе пользовательских данных Chrome.(Эти данные используются, например, при использовании Pagespeed Insights от google .)
Вместо того, чтобы набирать оценку страницы, я, как описано выше, хотел бы вывести среднее время загрузки в свой Googleлист.
Можно ли адаптировать сценарий, использованный в статье выше, для вытягивания времени загрузки в секундах, а не для просмотра страниц?Или есть какой-то другой способ сделать это?
Заранее благодарен за вашу помощь.
Это скрипт, который я запускаю в редакторе скриптов, чтобы вывести страницы в Google лист по ссылкамартикул с функцией =checkAll(C3)
:
/**
* Returns Mobile Pagespeed, Mobile Usability, and Desktop Pagespeed values in three adjacent columns
* by Cagri Sarigoz
*/
function checkAll(Url) {
//CHANGE YOUR API KEY WITH YOUR_API_KEY BELOW
var key = "AIzaSyB2SeOumbCd6YNfFWRg5Jo_WpISZi4gCFs";
var serviceUrlMobile = "https://www.googleapis.com/pagespeedonline/v2/runPagespeed?url="+Url+"&strategy=mobile&key="+key;
var serviceUrlDesktop = "https://www.googleapis.com/pagespeedonline/v2/runPagespeed?url="+Url+"&strategy=desktop&key="+key;
var array = [];
if (key == "YOUR_API_KEY")
return "Please enter your API key to the script";
var responseMobile = UrlFetchApp.fetch(serviceUrlMobile);
if(responseMobile.getResponseCode() == 200) {
var contentMobile = JSON.parse(responseMobile.getContentText());
if ( (contentMobile != null) && (contentMobile["ruleGroups"] != null) )
{
if (contentMobile["responseCode"] == 200)
{
var speedScoreMobile = contentMobile["ruleGroups"]["SPEED"]["score"];
var usabilityScoreMobile = contentMobile["ruleGroups"]["USABILITY"]["score"];
}
else
{
array.push(["Not Found!", "Not Found!", "Not Found!"]);
return array;
}
}
}
var responseDesktop = UrlFetchApp.fetch(serviceUrlDesktop);
if(responseDesktop.getResponseCode() == 200) {
var contentDesktop = JSON.parse(responseDesktop.getContentText());
if ( (contentDesktop != null) && (contentDesktop["ruleGroups"] != null) )
var speedScoreDesktop = contentDesktop["ruleGroups"]["SPEED"]["score"];
}
array.push([speedScoreMobile, usabilityScoreMobile, speedScoreDesktop]);
return array;
}