尝试使用 node.js 从智能表中提取 rowId

trying to extract rowIds from smartsheet using node.js

我正在尝试遍历现有的智能表以获取 rowId(设置 parent/child 关系需要它)。

我很挣扎:-(

显然,我没有得到这方面所需的语法。这是我尝试过的:

var options = {
 Id: *******************
};
var row_ids = '';

// get the sheet
smartsheet.sheets.getSheet(options) 
.then(function(sheetinfo) {
// iterate through the rows array and build comma-delimited list of row ids
for (rowIds in sheetinfo) {
    row_ids += row_ids.concat(', ');
}
});

console.log(row_ids);

如有任何帮助,我们将不胜感激。

Bowow99

Get Sheet 响应中,sheetInfo 包含 rows 的集合以及该集合中的每个 row 对象包含 属性 id。因此,要成功实现您所描述的场景,您需要遍历 sheetInfo.rows 数组,并为该数组中的每个 row 追加其 id [=28= 的值](后跟一个逗号)以创建您尝试构建的以逗号分隔的字符串。在此循环结束时,末尾会有一个额外的逗号(在您添加到字符串的最后一行 ID 之后)——因此您需要使用 substring 函数将其删除。

以下代码执行我上面描述的操作。请注意,我不是 JavaScript 专家——所以可能有更有效的方法来做到这一点……但是这段代码会让你得到你想要的最终结果:一个逗号分隔的字符串指定 sheet.

内的行 ID
var options = {
    id: 8337220210845572 // Id of Sheet
};

var row_ids = '';

// Get sheet
smartsheet.sheets.getSheet(options)
    .then(function(sheetInfo) {
        // iterate through rows in the sheet and build comma-delimited string of row ids
        for (var i=0; i < sheetInfo.rows.length; i++) {
            row_ids += sheetInfo.rows[i].id + ','; 
        }
        // remove the final (excess) comma from the end of the row_ids string
        row_ids = row_ids.substring(0, row_ids.length-1);
        console.log(row_ids);
    })
    .catch(function(error) {
        console.log(error);
    });