В гугле проект Google Apps Script хранится на Google Drive в виде одного файла проекта. Если его скачать через синхронизацию Гугл Диска и открыть локально, то там будет лишь идентификатор проекта. Однако, если обратится к этому файлу на самом Гугл Диске, то в файле окажется всё содержимое проекта в формате json.
Дело за малым — распарсить json, и сохранить содержимое «виртуальных» файлов, в виде физических файлов соответствующего формата.
function main() {
// Это id скрипта который хотим экспортировать
var scriptID = '***************************************************',
// Это id папки на Гугл Диске в которую будем экспортировать
targetFolderID = '******************************';
var file = Drive.Files.get(scriptID);
var url = file.exportLinks['application/vnd.google-apps.script+json'],
options = {
headers: {
Authorization: 'Bearer ' + ScriptApp.getOAuthToken()
}
};
var response = UrlFetchApp.fetch(url, options);
var files = JSON.parse(response).files;
var folder = DriveApp.getFolderById(targetFolderID);
for (var i = 0; i < files.length; i++) {
var file = files[i],
fileType = file.type,
fileName = file.name,
fileSource = file.source;
if (fileType == 'server_js') {
fileType = 'gs';
}
folder.createFile(fileName + '.' + fileType, fileSource);
}
}