如何在批量404 URL检查器的列表上安排每小时一次的检查?
我正试图建立一个谷歌表单,检查URL列表(大约30个)的响应。我希望每小时都安排一次。检查URL响应的时间并不重要,但最好是每60分钟检查一次,并且在我不访问电子表格时(即脱机)也能正常工作 我对使用GoogleSheets脚本编辑器非常陌生,所以仍然在努力掌握它。 我使用了下面的脚本。在脚本编辑器中,我执行了以下操作:如何在批量404 URL检查器的列表上安排每小时一次的检查?,url,google-apps-script,google-sheets,Url,Google Apps Script,Google Sheets,我正试图建立一个谷歌表单,检查URL列表(大约30个)的响应。我希望每小时都安排一次。检查URL响应的时间并不重要,但最好是每60分钟检查一次,并且在我不访问电子表格时(即脱机)也能正常工作 我对使用GoogleSheets脚本编辑器非常陌生,所以仍然在努力掌握它。 我使用了下面的脚本。在脚本编辑器中,我执行了以下操作: 编辑>项目触发器>添加触发器 选择函数>HTTP响应 偶数源>时间驱动 选择基于时间的触发器类型>小时计时器 我希望上面的设置每小时更新一次URL检查……但它们似乎只有在
- 编辑>项目触发器>添加触发器
- 选择函数>HTTP响应
- 偶数源>时间驱动
- 选择基于时间的触发器类型>小时计时器
我希望上面的设置每小时更新一次URL检查……但它们似乎只有在我手动更新单元格时才会更新 任何帮助都将不胜感激。试试以下方法:
function checkUrls( ) {
var ss=SpreadsheetApp.openById('id');//set ss id
var sh=ss.getSheetByName('Sheet1');//set sheet name
var urlA=['https:example.com','http://example.com'];//u pick em
for(var i=0;i<urlA.length;i++) {
var ts=Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "'yyyy/mm/dd HH:mm:ss");//change format if you wish
var response=UrlFetchApp.fetch(urlA[i]);
sh.appendRow(ts,urlA[i],response.getResponseCode());
}
}
函数checkURL(){
var ss=SpreadsheetApp.openById('id');//设置ss id
var sh=ss.getSheetByName('Sheet1');//设置图纸名称
var urlA=['https:example.com','http://example.com“];//你选他们
对于(var i=0;i尝试以下方法:
function checkUrls( ) {
var ss=SpreadsheetApp.openById('id');//set ss id
var sh=ss.getSheetByName('Sheet1');//set sheet name
var urlA=['https:example.com','http://example.com'];//u pick em
for(var i=0;i<urlA.length;i++) {
var ts=Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "'yyyy/mm/dd HH:mm:ss");//change format if you wish
var response=UrlFetchApp.fetch(urlA[i]);
sh.appendRow(ts,urlA[i],response.getResponseCode());
}
}
函数checkURL(){
var ss=SpreadsheetApp.openById('id');//设置ss id
var sh=ss.getSheetByName('Sheet1');//设置图纸名称
var urlA=['https:example.com','http://example.com“];//你选他们
对于(var i=0;iGreat,感谢Cooper的回复。因此,我已将这两个脚本放在脚本编辑器中,并在工作表中有一列调用GetStatusCode(“URL”)。要添加每小时触发器…我是否将事件源设置为来自电子表格或计时器?我不理解您对GetStatusCode(URL)的评论.至于你的问题,做你认为最好的,如果不起作用,试试另一种方法Hi Cooper。我已经设法让它与你的脚本一起工作了。非常感谢。太好了,谢谢Cooper的回复。因此,我将这两个脚本放在脚本编辑器中,在我的工作表中有一列名为GetStatusCode(“URL”)。若要添加每小时的触发器…我是否将事件源设置为来自电子表格或计时器?我不理解您对getStatusCode(URL)的评论。至于您的问题,请做您认为最好的事情,如果不起作用,请尝试另一种方法Hi Cooper。我已成功地使它与您的脚本一起工作。非常感谢。
function setupHourlyTimer() {
if(!isTrigger('checkUrls')) {
ScriptApp.newTrigger('checkUrls').timeBased().everyHours(1).create();
}
}
function isTrigger(funcName){
var r=false;
if(funcName){
var allTriggers=ScriptApp.getProjectTriggers();
for(var i=0;i<allTriggers.length;i++){
if(funcName==allTriggers[i].getHandlerFunction()){
r=true;
break;
}
}
}
return r;
}