GASの排他制御をすることで回避できました
加藤 光さん (2023-05-23 13:30:04) www.yuzu-system.com
同じ問題で調べていたところ、ほぼ同時に送信が合った場合スプレッドシートの同じ行に書き込みしていることがわかりました。
排他制御を追加することで解決できたので共有します。
function doPost(e){
let lock = LockService.getScriptLock();
if (lock.tryLock(5000)) { //5秒間他の処理が終わるのを待ち
var sheet = SpreadsheetApp.openById(e.parameter.SPREADSHEET_ID).getSheetByName(e.parameter.SHEET_NAME);
.
.
.
.
return ContentService.createTextOutput( ’(’ + return_json + ’)’).setMimeType(ContentService.MimeType.JAVASCRIPT);
lock.releaseLock(); //ロックを解除
};
};