【发布时间】:2021-12-17 07:13:25
【问题描述】:
我正在处理通过 API 从另一个系统到 Smartsheet 的集成数据。我想要实现的结果是,每次运行 API 一张表时,都会从第 4 个索引行中删除数据。之后,将添加新数据。
我想知道是否有任何简单的方法可以实现从特定索引行中删除。 我在节点 JS 中尝试了以下功能
function resetSheet (sheetid) {
// Get sheet
smartsheet.sheets.getSheet({sheetid})
.then(function(sheetInfo) {
const rowIdList = sheetInfo.rows.map(item => item.id);
return rowIdList;
})
.then(data => {
const deleteIds = data.splice(3);
deleteIds.forEach(rowId => {
smartsheet.sheets.deleteRow({
sheetId: sheetId,
rowId: rowId
})
.then(function(results) {
console.log(results);
})
.catch(function(error) {
console.log(error);
});
})
})
.catch(function(error) {
console.log(error);
});
}
它可以工作,但有时 Nodejs 会通过以下错误提醒我,并且有些行没有被删除
errorCode=4004, message=Request failed because sheetId XXX is currently being updated by another request that uses the same access token. Please retry your request once the previous request has completed., refId=16hz2dgyh47v0
上面的代码有什么遗漏吗? 希望在这种情况下我们可以有更好的解决方案。使用另一种语言(例如 C#)的解决方案将不胜感激。
非常感谢
【问题讨论】:
标签: smartsheet-api