У меня есть код html / js, в котором хранится информация о действии, например, что пользователь X совершил щелчок.
Информация хранится в электронных таблицах Google в виде таблицы, где каждая строка соответствует сохраненному действие пользователя.
Каждый раз, когда я сохраняю новое действие, мне нужно знать место [строку], где оно должно быть сохранено, поэтому мне нужно сначала проверить, сколько строк уже занято в электронной таблице, и только потом записывать данные. внутрь. Это код, который я написал для этой цели:
function AddRow (
// params
) {
// prepare data
// Read NLines - the number of rows, which are already filled
gapi.client.sheets.spreadsheets.values.get({
//params
}).then( function(response) {
// Write data at NLines+1's row
gapi.client.sheets.spreadsheets.values.update(
{
//params
}).then((response) => {
},(response) => {
});
}, function(response) {
});
}
Моя проблема в том, что два пользователя [или даже один пользователь] совершали действия с очень малой разницей во времени, когда оба читали бы одинаково электронную таблицу и получите то же значение NLines, таким образом, данные одного пользователя будут перезаписаны другим.