Javascript 从Google sheets访问Google drive

Javascript 从Google sheets访问Google drive,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我有一个简单的功能,可以在谷歌硬盘上创建一个文件夹。我想将名称转移到它,并从工作表中运行它。但我被拒绝访问。如何在没有触发器的情况下解决此问题?多谢各位 function myFunction() { var folderName = "SEO"; var folder=DriveApp.getFoldersByName(folderName).next(); var fileName = "NewFolder"; var file=SpreadsheetApp.crea

我有一个简单的功能,可以在谷歌硬盘上创建一个文件夹。我想将名称转移到它,并从工作表中运行它。但我被拒绝访问。如何在没有触发器的情况下解决此问题?多谢各位

function myFunction() {
   var folderName = "SEO";
   var folder=DriveApp.getFoldersByName(folderName).next();
   var fileName = "NewFolder";
   var file=SpreadsheetApp.create(fileName);
   var copyFile=DriveApp.getFileById(file.getId());
   folder.addFile(copyFile);
   DriveApp.getRootFolder().removeFile(copyFile);}
结果:


来自谷歌应用程序脚本文档:

如果自定义函数抛出错误消息“您没有调用X服务的权限”,则该服务需要用户授权,因此不能在自定义函数中使用

解决方案是为电子表格创建自定义菜单,并在单击菜单项时执行功能

 function onOpen(){

    var ui = SpreadsheetApp.getUi();
    ui.createMenu('Menu')
   .addItem('Menu item', 'yourFunc')
   .addToUi();

    }

 function yourFunc(){

     //your code

   }

希望这对您有所帮助。

customFunctions必须没有副作用,您可以添加一个并从该手机中读取文件夹的名称。谢谢兄弟!现在我们需要了解谷歌表单的全部深度)