搜索文件的Getting Permission错误



我在下面的代码中得到了"您没有权限调用searchFiles(第2行)。"。当我在编辑器中测试运行时,没有任何错误。但当我在表格中使用它时,我会出现错误。我如何获得许可?

function deleteDocByName(fileName){
    var docs=DriveApp.searchFiles('title contains fileName')
    for(n=0;n<docs.length;++n){
        if(docs[n].getName() == fileName){
            var ID = docs[n].getId()
            DriveApp.getFileById(ID).setTrashed(true)
        }
    }
}

@桑迪,

我终于开始工作了。删除您列出的脚本中的文件的行已被注释。当我删除评论时,我得到了未定义的ID错误。所以我通过添加下面的行为ID赋值:

ID = Logger.log(thisDoc.getId());

但生成的ID是无效错误。所以我修改了剧本,让它发挥作用。

以下是我的想法:

function deleteDocByName(fileName){
    var docs = DriveApp.searchFiles('title contains "' + fileName + '"');
    var thisDoc;
    while (docs.hasNext()) {
        thisDoc = docs.next();
        var ID = thisDoc.getId();
        DriveApp.getFileById(ID).setTrashed(true)
    }
 }

我还使用onChange触发了saveAsTabDelimitedTextFile()。

更改此行:

var docs=DriveApp.searchFiles('title contains fileName')

收件人:

var docs=DriveApp.searchFiles('title contains "' + fileName + '"');

并且不能使用for循环。

完整代码:

function deleteDocByName(fileName){
    //fileName = 'Test';
    var docs = DriveApp.searchFiles('title contains "' + fileName + '"');
    var thisDoc;
    Logger.log(docs.hasNext())
    while (docs.hasNext()) {
      thisDoc = docs.next();
      Logger.log(thisDoc.getId());
      //DriveApp.getFileById(ID).setTrashed(true)
    };
}

此问题与权限无关。这个错误是错误的。

相关内容

最新更新