Google apps script 如何通过基于';未知';应用程序脚本的标准?
我想使用GAS从谷歌硬盘检索文件列表。 因此,我需要基于空所有者的文件列表。 对于我们在共享驱动器上创建的文件,所有者不存在。 如果我们试图强制使用所有者名称,它将得到一个错误 例如:Google apps script 如何通过基于';未知';应用程序脚本的标准?,google-apps-script,google-sheets,google-drive-api,Google Apps Script,Google Sheets,Google Drive Api,我想使用GAS从谷歌硬盘检索文件列表。 因此,我需要基于空所有者的文件列表。 对于我们在共享驱动器上创建的文件,所有者不存在。 如果我们试图强制使用所有者名称,它将得到一个错误 例如: file.getOwner().getName(); 无法从文件列表中检索该文件。 我尝试添加一个基于空所有者的过滤器,我想说未知 function getfilesUnknown () { var ss = SpreadsheetApp.getActiveSpreadsheet (); var st
file.getOwner().getName();
无法从文件列表中检索该文件。
我尝试添加一个基于空所有者的过滤器,我想说未知
function getfilesUnknown () {
var ss = SpreadsheetApp.getActiveSpreadsheet ();
var st = ss.getActiveSheet ();
var files = DriveApp.getFiles ();
var counter = 0;
while (files.hasNext () && counter <21) {
var file = files.next ();
var data = [
file.getName (),
file.getUrl (),
file.getOwner ()? file.getOwner (). getName (): 'Unknown'
];
var filter = data.filter (v => v [2] === 'Unknown');
counter ++;
st.appendRow (filter);
}
}
函数getFileUnknown(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var st=ss.getActiveSheet();
var files=DriveApp.getFiles();
var计数器=0;
while(files.hasNext()&&counter v[2]='Unknown');
计数器++;
圣佩德罗(过滤器);
}
}
但无法检索文件列表
似乎不建议使用while中的过滤器。
或者,这里的人们有另一种解决方案。我不确定这是否是最好的方法 但是,由于当所有者不存在时,您在这里得到一个错误
file.getOwner().getName()
,因此请尝试使用来捕获错误
也就是说,如果出现错误,请传递未知的文件名,否则请传递文件所有者的名称
function getfilesUnknown() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var st = ss.getActiveSheet();
var files = DriveApp.getFiles();
var counter = 0;
var data = [];
while (files.hasNext() && counter<21) {
var file = files.next();
try{
data.push([file.getOwner().getName()]);
}
catch(e){
data.push(['Unknown']);
}
counter++;
}
st.getRange(st.getLastRow()+1,1,data.length,1).setValues(data);
}
函数getfilesnown(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var st=ss.getActiveSheet();
var files=DriveApp.getFiles();
var计数器=0;
var数据=[];
while(files.hasNext()&&counter)