Google apps script 更新另一个Google驱动器的Google工作表

Google apps script 更新另一个Google驱动器的Google工作表,google-apps-script,google-sheets,google-drive-api,Google Apps Script,Google Sheets,Google Drive Api,我需要更新另一个用户的远程工作表,然后我首先需要检索文件,但是如何使用该文件检索相关工作表 我的代码如下: var sss=SpreadsheetApp.getActiveSpreadsheet(); var ss=sss.getSheetByName('ImportBooks'); var range=ss.getRange('A2:M'); var data=range.getValues(); //目的地范围-表1,范围1 var file=DriveApp.getFileById(“1V

我需要更新另一个用户的远程工作表,然后我首先需要检索文件,但是如何使用该文件检索相关工作表

我的代码如下:

var sss=SpreadsheetApp.getActiveSpreadsheet();
var ss=sss.getSheetByName('ImportBooks');
var range=ss.getRange('A2:M');
var data=range.getValues();
//目的地范围-表1,范围1
var file=DriveApp.getFileById(“1VnhUR4NpY8NOtDylo4tKrX-OsBIe4jBmv9KmhxworeI”);
var tss=SpreadsheetApp.getActiveSpreadsheet();
var ts=sheet.getSheetByName('yourBooks');
ts.getRange(lastRow(ts,1),1,data.length,data[0].length).setValues(data);
}

您不需要调用
DriveApp
。您可以使用
SpreadsheetApp.openById(file\u id)
获取目标电子表格文件

试试这个:

var sss = SpreadsheetApp.getActiveSpreadsheet();
var ss = sss.getSheetByName('ImportBooks');
var range = ss.getRange('A2:M');
var data = range.getValues();

//Destination Range - Tab 1, Range 1
var file_id = "1VnhUR4NpY8NOtDylo4tKrX-OsBIe4jBmv9KmhxworeI";
var tss = SpreadsheetApp.openById(file_id);
var ts = tss.getSheetByName('Dashboard');
ts.getRange(lastRow(ts, 1), 1, data.length, data[0].length).setValues(data);
}
参考资料:


嗨,Marios,实际上我正在寻找一种可以在非我的电子表格上进行书写的解决方案,据我所知,通过openbyId进行书写是不太可能的,这就是为什么我在寻找一种不同的解决方案。@trisixnine如果你有对目标电子表格文件的编辑权限,你可以使用我提供的代码。没有任何解决方案允许用户在没有另一用户的编辑权限的情况下编辑另一用户的文件。请确认您拥有目标电子表格的编辑权限,运行我的代码,然后让我知道它是否适合您。