Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 如何防止多个用户在谷歌工作表中同时运行谷歌应用程序脚本代码?_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 如何防止多个用户在谷歌工作表中同时运行谷歌应用程序脚本代码?

Google apps script 如何防止多个用户在谷歌工作表中同时运行谷歌应用程序脚本代码?,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正在向多个用户共享一个google脚本表,我只是想防止同一用户同时运行脚本。我该怎么办?是按代码还是仅按设置?正如@TheMaster在评论中所说,锁具服务是一条出路。具体来说,您需要或取决于脚本的设置方式 如何在应用程序脚本中使用锁定服务的示例: var timeoutMs = 5000; // wait 5 seconds before giving up var lock = LockService.getScriptLock(); // or LockService.getDoc

我正在向多个用户共享一个google脚本表,我只是想防止同一用户同时运行脚本。我该怎么办?是按代码还是仅按设置?

正如@TheMaster在评论中所说,
锁具服务是一条出路。具体来说,您需要或取决于脚本的设置方式

如何在应用程序脚本中使用锁定服务的示例:

var timeoutMs = 5000;  // wait 5 seconds before giving up

var lock = LockService.getScriptLock();  // or LockService.getDocumentLock();
lock.tryLock(timeoutMs);

try {
    if (!lock.hasLock()) {
        var msg = 'Skipped execution after ' + (timeoutMs / 1000).toString() + ' seconds; script already running.';
        console.log(msg);
        try {
            // If script is being run from a user UI context (ex: from a Menu option),
            // gracefully alert the user we gave up
            SpreadsheetApp.getUi().alert(msg);
        } catch (e2) {}
    } else {

        //*** ADD CODE YOU WANT TO PROTECT HERE

    }
} catch (e) {
    console.error(e);
    try {
        var ui = SpreadsheetApp.getUi();
        ui.alert("Error", e ? e.toString() : e, ui.OK);
    } catch (e2) {}
}

SpreadsheetApp.flush();
lock.releaseLock();

按代码。您可以尝试
LockService