如何通过Smartsheet API限定仅在指定列搜索并获取行ID?
Smartsheet API 指定列搜索数值型数据的解决方案
Smartsheet 原生的 /search 接口确实不支持直接限定搜索列范围,针对你的需求,有两种可行的解决方式:
方法1:使用行筛选接口(推荐)
利用行列表接口的筛选参数,直接精准匹配指定列的数值,返回符合条件的行数据,效率更高。
PowerShell 请求示例:
IRM "https://api.smartsheet.com/2.0/sheets/{sheetId}/rows?filter=columnId={columnId}%20EQ%2012345" -Headers @{"Authorization"="Bearer YOUR_API_TOKEN"}
- 替换
{sheetId}为目标表格ID,{columnId}为需要搜索的列ID EQ是等于操作符,数值型数据直接传入原值即可,无需额外转义- 接口返回结果仅包含指定列值为
12345的行,从中提取id字段就是目标行ID
方法2:搜索后本地过滤
如果必须使用 /search 接口,可先获取全局匹配结果,再在本地筛选出指定列的条目:
PowerShell 示例片段:
# 发起搜索请求(建议添加sheetId缩小范围) $searchResults = IRM "https://api.smartsheet.com/2.0/search?query=12345&sheetId={sheetId}" -Headers @{"Authorization"="Bearer YOUR_API_TOKEN"} # 目标列ID $targetColumnId = "替换为你的列ID" # 筛选出指定列的结果,提取行ID $targetRowIds = $searchResults.results | Where-Object { $_.columnId -eq $targetColumnId } | Select-Object -ExpandProperty rowId
- 此方法适合数据量较小的场景,避免本地处理过多冗余数据
内容的提问来源于stack exchange,提问作者ITGuy
相关产品推荐
相关产品推荐

