Извлеките скорость страниц в секундах из отчета о пользовательском опыте Chrome в лист Google - PullRequest
0 голосов
/ 06 июня 2018

Следуя руководству Создайте свой собственный 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;

}

1 Ответ

0 голосов
/ 08 июня 2018

Я автор сообщения в блоге, которым вы поделились.Как вы сказали, в скрипте Google Apps использовался Google Pagespeed API v2.Текущая версия API v4, а версия 30 устарела 30 июня.

Поэтому я обновил код с v4 в своей собственной копии таблицы.Вы можете сделать свою собственную копию из здесь .

Я также хотел добавить результаты теста, удобного для мобильных устройств, но оказалось, что ограничения квот API Google Search Console были слишком жесткими, возвращая ошибку почтивсе время.Поэтому я закомментировал эту часть кода на данный момент.

У меня еще не было времени обновить свой блог.Вы можете увидеть новую версию скрипта здесь .

...