Скрипт для экспорта проекта Google Apps Script в виде файлов.

В Google проект Google Apps Script хранится на Google Диске как один файл проекта. Если вы загрузите его через синхронизацию с Google Диском и откроете локально, он будет содержать только идентификатор проекта. Однако если вы получите доступ к этому файлу на самом Google Диске, в нём будет все содержимое проекта в формате JSON.

Дело за малым — разобрать json, и сохранить содержимое «виртуальных» файлов в виде физических файлов соответствующего формата.

function main() {
    // This is the id of the script we want to export
    var scriptID = '***************************************************',
        // This is the id of the folder on Google Drive to which we will export
        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);
    }
}

Добавить комментарий