我们正在使用 Google表格API v4 来获取和追加工作表中的行。如果同时发送多个附加行请求,则会出现问题。 4个并发请求。有时这些请求会相交,并且一些附加的行会被另一个请求覆盖。例如,如果每个请求只有1行用于追加,并且4个此类请求在同一时刻发送,则只创建3行。在顺序请求的情况下,此问题不会出现。它是否已知问题?是否有任何解决方法我们如何实现并发追加请求不会覆盖行?
对于发送追加请求,我们使用批量更新请求端点:
POST https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}:batchUpdate
批量更新请求的主体有" appendCells"具有适当附加单元格的属性请求数据:
答案 0 :(得分:3)
考虑将values.append API与InsertDataOption.INSERT_ROWS一起使用。每个请求都应该转到自己的新行。
答案 1 :(得分:0)
尝试google apps脚本锁定服务。
function appendRow_(row) {
// The try / catch statement can be uncommented
//try {
var lock = LockService.getPublicLock();
lock.waitLock(10000);
Do something
// Post form results with empty responses in order of item index
s.appendRow(row);
lock.releaseLock();
//}
//catch (error) {
//Insert your own error handling
//Logger.log(error);
//}
//finally {
//lock.releaseLock();
//}
}