const UUID = 'uuid'; const LOCK_TIMEOUT_MILLIS = 500; /** * オブジェクトをシートの行に変換する * * @param {SpreadsheetApp.Sheet} sheet - シート。一行目の見出しに、オブジェクトの属性名を記載しておく。 * @param {Object} obj - 行に変換するオブジェクト。 * @return {string[]} - オブジェクトから変換された行。 */ function createRow_(sheet, obj) { const keys = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0]; return keys.map(key => { const value = obj[key] if (value
![Google Sheets にデータを追加、更新、削除する Web API をサクッと作る - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/72789326f4596ec7f577a0ebf8d0e449b6683c1b/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9R29vZ2xlJTIwU2hlZXRzJTIwJUUzJTgxJUFCJUUzJTgzJTg3JUUzJTgzJUJDJUUzJTgyJUJGJUUzJTgyJTkyJUU4JUJGJUJEJUU1JThBJUEwJUUzJTgwJTgxJUU2JTlCJUI0JUU2JTk2JUIwJUUzJTgwJTgxJUU1JTg5JThBJUU5JTk5JUE0JUUzJTgxJTk5JUUzJTgyJThCJTIwV2ViJTIwQVBJJTIwJUUzJTgyJTkyJUUzJTgyJUI1JUUzJTgyJUFGJUUzJTgzJTgzJUUzJTgxJUE4JUU0JUJEJTlDJUUzJTgyJThCJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1kZGU0ZTMzNDVjYzBhY2VhODQyNzRlZWE4OTk0N2Y1MQ%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwdGFrYXRhbWEmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTE2MWRiNjY5NDhlYTc0Njc5YjZkZTA5OTRlOGE1ZDQ0%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D67979b2235e45d95f5d8bda22c3621ee)