当前位置: 首页 > 知识库问答 >
问题:

使用GoogleSheets,我如何每小时运行一个脚本并填充列中的每个单元格?

鄢松
2023-03-14

我在使用谷歌表格,从来没有在这里运行过“cron作业”。为了给它应得的荣誉,我找到了这个很棒的代码来帮助我访问这里的速度见解api:https://statsravingmad.com/measure/page-speed-insights/

function speed(url,device,filter_third_party_resources,http_secure) {

  url = url || 'www.statsravingmad.com'; 
  strategy = 'desktop' || device; 
  filter_third_party_resources = 'true' || filter_third_party_resources;
  http_secure = 'false' || http_secure ; 

  switch (http_secure)  {
    case 'false':
    http_protocol = 'http://';
    break;
    case 'true':
    http_protocol = 'https://';
    break;
 }

  var key = 'api-key';  
  var api = 'https://www.googleapis.com/pagespeedonline/v2/runPagespeed?url=' + http_protocol + url
  + '&filter_third_party_resources=' + filter_third_party_resources + 
'&strategy=' + strategy + '&key=' + key;

  var response = UrlFetchApp.fetch(api, {muteHttpExceptions: true });

  var result = JSON.parse(response.getContentText());    

    score = result.ruleGroups.SPEED.score;

    return(score);
}

所以我在一个函数中有这段代码,在我的谷歌工作表中,我的特定测试站点每小时都会被触发一次。

但是,数据只填充每个站点的一个单元格,即公式分配给的单元格。

当使用google sheets时,我如何修改它以使它每小时在列中填充一个新单元格?我是否要修改此代码,是否必须设置另一个函数,或者是否有选项可以将单元格填充到列中?

共有1个答案

臧增
2023-03-14

此函数可以修改为写入(例如)Sheet1的C列。下面是它的结束方式,而不是返回(score)(如果值直接写入电子表格,则无需返回任何内容;函数不会从电子表格调用,而是从触发器调用)。

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
  var values = sheet.getRange("C:C").getValues();  // using column C
  var lastRow = 1;
  for (var i = 0; i < values.length; i++) {
    if (values[i][0] != "") {
      lastRow = i + 1;
    }
  }
  sheet.getRange(lastRow + 1, 3).setValue(score);  // column = 3 because C

在这里,循环查找C列中包含数据的最后一行,score的值放在它下面。

 类似资料:
  • 问题内容: 我将背景色应用到了标签,标签上也设置了左右。问题是:仅当将文本包裹在多行上时,才应用于的左(行)和右(行),而不应用于每行的左(行)和右(行)。 如何将左和右应用于 中间 线? 问题答案: 您可以使用值为的属性。 每个框片段都使用指定的边框进行独立渲染,并用边距和边距包裹每个片段。边界半径,边界图像和框阴影分别应用于每个片段。在每个片段中独立绘制背景,这意味着具有背景重复:不重复的背景

  • 我有windows 2008任务调度程序,我设置了一个PHP脚本,以这样运行 C:\php\php。exe-f等。。。 在windows任务计划程序中,我只能每天或每小时计划一次如何将其配置为每4小时运行一次?

  • 在AnyLogic 8中,如何创建一个时间颜色图,该图为代理池中的每个代理都有一行? 正如在回答这个问题时所解释的,我可以为每一行创建一个单独的数据集,然后让时间颜色图为每个数据集显示一行。但这需要硬编码数据集的数量(以及代理的数量),而我想创建一个具有可变代理数量的模型,从而在时间颜色图中具有可变行数。 此AnyLogic云模型包括一个时间颜色图,其中代理池中的每个叉车在时间颜色图中都有自己的行

  • 问题内容: 在Python中,何时应使用列表以及何时使用元组? 有时您别无选择,例如,如果您有 那么x必须是一个元组。 但是,如果我是设计API并选择数据类型的人,那么指导原则是什么? 问题答案: 元组有一种强大的文化,即用于异构集合(类似于您在C中使用s的元组)和列表用于同类集合(类似于用于数组的形式)。但是我从来没有与其他答案中提到的可变性问题完全吻合。可变性有它的作用(实际上您不能更改一个元

  • 我有以下数据帧(示例): 我想在每小时的日期之间填写缺失的日期。因此,应填写日期之间缺少的每一小时,并且值应与之前的数据相同。以下是所需的输出: 所以我想知道是否可以使用每组每小时用列值中的前一个值填充缺失的日期?

  • 在我问之前,Cron作业和任务调度程序将是我的最后选择,这个脚本将在Windows和Linux中使用,我更喜欢有一个编码的方法来完成这个任务,而不是把它留给最终用户来完成。 有没有Python的库可以用来安排任务?我需要每小时运行一次函数,但是,随着时间的推移,如果我每小时运行一次脚本并使用. chat,“每小时一次”将在不同的时间运行由于执行/运行脚本和/或函数固有的延迟,一小时与前一天不同。