我正在Google表格中使用应用程序脚本在B列中提供状态代码,以获取A列中的URL列表(即www.test.com >>>返回404、300、200等)。直到今天,代码仍然可以正常工作,但是现在抛出错误:
function getStatusCode(url){
var options = {
'muteHttpExceptions': true,
'followRedirects': false
};
var url_trimmed = url.trim();
var response = UrlFetchApp.fetch(url_trimmed, options);
return response.getResponseCode();
}
这是错误:
TypeError:无法调用未定义的方法“ trim”。 (第6行,文件“代码”)
自昨天以来没有任何变化,所以我不确定这是Google的问题还是其他原因。我的应用程序知识非常有限,请客气:D
答案 0 :(得分:0)
trim()
是String.prototype的方法,这意味着,在这种情况下,url
的值应该是字符串文字,String类型的对象或具有toString()
,因此可以在需要时返回String值。
考虑到上述情况,由于url
不满足上述条件而发生错误。
答案 1 :(得分:0)
假设其他所有方法都可以,请尝试以下操作:
function getStatusCode(url){
var url=url||'default url...you fill this in with your url and run it from script editor'
var options = {
'muteHttpExceptions': true,
'followRedirects': false
};
if(url) {
var url_trimmed = url.trim();
var response = UrlFetchApp.fetch(url_trimmed, options);
Logger.log(response.getReponseCode());
return response.getResponseCode();
}else{
SpreadsheetApp.getUi().alert('Invalid or Missing Url');
}
}