问题描述
我正在尝试获取经典 Google 网站的所有者、查看者和编辑者。如果我无法访问 google 站点或 URL 无效,我该如何编码以继续运行脚本?
另外,你知道我是否使用过这个方法 - getowners、getViewers、getEditors 会显示各自的电子邮件地址吗?
这是我的部分代码:
for (var i = 0; i < sheetVal.length-1; i++) {
var sitesURL = sheetVal[i][0];
var owners = sheetVal[i][1];
var viewers = sheetVal[i][2];
var editors = sheetVal[i][3];
if (owners && viewers && editors != "") {continue;}
else {
var array = [];
var sites = SitesApp.getSiteByUrl(sitesURL);
var data = [
sites.getowners().map(function(e){return [e.getEmail()]}).join(","),sites.getViewers().map(function(e){return [e.getEmail()]}).join(",sites.getEditors().map(function(e){return [e.getEmail()]}).join(",")
];
array.push(data);
AL.getRange(i+2,2,array.length,array[0].length).setValue(array);
}
}
解决方法
for (var i = 0; i < sheetVal.length - 1; i++) {
var sitesURL = sheetVal[i][0];
var owners = sheetVal[i][1];
var viewers = sheetVal[i][2];
var editors = sheetVal[i][3];
if (owners && viewers && editors) {
var array = [];
var sites = SitesApp.getSiteByUrl(sitesURL);
var data = [
sites.getOwners().map(function (e) { return [e.getEmail()] }).join(","),sites.getViewers().map(function (e) { return [e.getEmail()] }).join(",sites.getEditors().map(function (e) { return [e.getEmail()] }).join(",")
];
array.push(data);
AL.getRange(i + 2,2,array.length,array[0].length).setValue(array);
}else{
continue;
}
}
}