我正在使用PageSpeed API使用Google脚本将数据提取到Google表格中。
但是,当我执行脚本并从PageSpeed URL中获取数据时,至第一个字节的时间数值大大高于在常规浏览器窗口中运行该数值的时间。
例如,当我使用以下代码在Google表格中获取URL时,我的平均第一个字节时间为500-510ms。如果我在桌面上使用完全相同的chrome网址,则通常为60-70毫秒。
这是我用来提取数据的代码:
function callPageSpeed(strategy) {
var pageSpeedUrl = 'https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=' + pageSpeedMonitorUrl + '&key=' + pageSpeedApiKey + '&strategy=' + strategy;
var response = UrlFetchApp.fetch(pageSpeedUrl);
var json = response.getContentText();
return JSON.parse(json);}
然后我使用以下方法将其推入工作表:
function monitor() {
var desktop = callPageSpeed('desktop');
var mobile = callPageSpeed('mobile');
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getSheetByName('results');
sheet.appendRow([
Utilities.formatDate(new Date(), 'GMT+1', 'yyyy-MM-dd'),
desktop['lighthouseResult']['audits']['time-to-first-byte']['numericValue'].toFixed(0) + " ms"
//some other metrics go here
]);
有人知道这是什么原因吗,我该如何克服?
无需安装,我们会在您的计算机中为您提供代码编辑器浏览器,并且您的脚本在Google的服务器上运行。
[在调用外部API时要考虑到这一点,因为它除了具有诸如无法分配的IP地址之类的时间平均差异外,还会带来其他副作用。