我能够从 Smartsheet API JSON 响应中获取行和列数据,但其中没有元数据,例如
_OUTLINELEVEL_
或 _ROWNUM_
.
从 Smartsheet API 请求数据时,我还发送了额外的参数,例如:
params = {'include': 'objectValue,objectProperties,format,formula,columnType,options'}
并随请求一起发送。但我仍然没有得到任何元数据。具体来说,我正在尝试获取 Smartsheet 中存在的
_OUTLINELEVEL_
列。
如果我在线查看 Smartsheet,那么我可以看到这些列。
有人可以帮我获取这些数据吗?谢谢!
API 确实支持获取工作表中行的行号。例如,以下代码片段使用 Smartsheet Python SDK 获取工作表,然后遍历响应中的行以打印出每一行的
row_number
属性值。
# Specify access token
os.environ['SMARTSHEET_ACCESS_TOKEN'] = 'ADD_YOUR_TOKEN_VALUE_HERE'
# Initialize client. f
# Uses the API token in the environment variable SMARTSHEET_ACCESS_TOKEN.
smartsheet_client = smartsheet.Smartsheet()
sheetId = 3932034054809476
# get the sheet
sheet = smartsheet_client.Sheets.get_sheet(sheetId)
# iterate through the rows array and print row number of each row
for row in sheet.rows:
print('rowNumber= ' + str(row.row_number))
据我所知,不可能通过 Smartsheet API 获取行的大纲级别——除非用户手动将这样的列添加到工作表并使用公式填充它——例如,如 Smartsheet 社区帖子中所述:https://community.smartsheet.com/discussion/77827/work-breakdown-structure-wbs-column-formula-configuration#latest.
如果是这种情况——即,列 has 已(手动)在工作表中创建并填充了 大纲级别 值——那么您将获得同一行中的该单元格值获取工作表中任何其他单元格的单元格值的方式——即,通过使用 Get Sheet 操作或 Get Row 操作,然后评估
row
对象中该单元格的值( s) API 响应。例如,以下代码片段使用 Smartsheet Python SDK 获取工作表,然后遍历工作表的行,并为每一行打印我感兴趣的单元格的值(即,在本例中,值在具有列 id = 5228827298293636
)的列中。
# Specify access token
os.environ['SMARTSHEET_ACCESS_TOKEN'] = 'ADD_YOUR_TOKEN_VALUE_HERE'
# Initialize client. f
# Uses the API token in the environment variable SMARTSHEET_ACCESS_TOKEN.
smartsheet_client = smartsheet.Smartsheet()
sheetId = 3932034054809476
# get the sheet
sheet = smartsheet_client.Sheets.get_sheet(sheetId)
# iterate through the rows
for row in sheet.rows:
# iterate through the cells for the row and print value of specific cell
for cell in row.cells:
if cell.column_id == 5228827298293636:
print('value of cell= ' + cell.value)
更新:如何通过 API 确定行层次结构
您可以使用 Get Sheet 响应的 rows 集合中的信息以编程方式识别工作表中的行层次结构(即父子兄弟关系)。
例如,考虑下表:
请注意——我手动添加(并填充)了此工作表中的最后三列,以显示将在 API 中为
row.id
、row.parent_id
和 row.sibling_id
返回的数据(ID 值)回复。此外,我对各种 ID 值进行了颜色编码,以便于查看哪些 ID 显示在何处。如本示例所示,响应中每一行的 parent_id
属性和 sibling_id
属性指示该行相对于工作表中其他行出现在工作表中的位置。以下是如何填充这些属性的逻辑:
parent_id
:
parent_id
属性,它的值是父行的ID。parent_id
属性,则表示它是工作表中的顶级(即非缩进)行。sibling_id
:
sibling_id
属性,则其值是工作表中同一层级(在该位置)紧接其之前的行的 ID。sibling_id
属性,则表示该行是工作表的该层次结构(在该位置)中存在的第一行——即,它是第一个顶级(非缩进) ) 工作表中的行或工作表中该位置的第一个子行。这是上面屏幕截图中显示的工作表的Get Sheet API 响应。
{
"id": 3932034054809476,
...
"columns": [
...
],
"rows": [
{
"id": 6933706290423684,
"rowNumber": 1,
"expanded": true,
"createdAt": "2022-08-23T20:13:19Z",
"modifiedAt": "2023-04-28T21:25:45Z",
"cells": [
{
"columnId": 6101753539127172,
"value": 1.0,
"displayValue": "1"
},
{
"columnId": 5228827298293636,
"value": "white",
"displayValue": "white"
},
{
"columnId": 5678576703590276,
"value": 6.933706290423684E15,
"displayValue": "6933706290423684"
},
{
"columnId": 2055191968829316
},
{
"columnId": 6558791596199812
}
]
},
{
"id": 5556441535434628,
"rowNumber": 2,
"parentId": 6933706290423684,
"expanded": true,
"createdAt": "2023-04-26T19:49:40Z",
"modifiedAt": "2023-04-28T21:25:45Z",
"cells": [
{
"columnId": 6101753539127172,
"value": "1a",
"displayValue": "1a"
},
{
"columnId": 5228827298293636,
"value": "child1a",
"displayValue": "child1a"
},
{
"columnId": 5678576703590276,
"value": 5.556441535434628E15,
"displayValue": "5556441535434628"
},
{
"columnId": 2055191968829316,
"value": 6.933706290423684E15,
"displayValue": "6933706290423684"
},
{
"columnId": 6558791596199812
}
]
},
{
"id": 3304641721749380,
"rowNumber": 3,
"parentId": 6933706290423684,
"siblingId": 5556441535434628,
"expanded": true,
"createdAt": "2023-04-26T19:49:40Z",
"modifiedAt": "2023-04-28T21:25:45Z",
"cells": [
{
"columnId": 6101753539127172,
"value": "1b",
"displayValue": "1b"
},
{
"columnId": 5228827298293636,
"value": "child1b",
"displayValue": "child1b"
},
{
"columnId": 5678576703590276,
"value": 3.30464172174938E15,
"displayValue": "3304641721749380"
},
{
"columnId": 2055191968829316,
"value": 6.933706290423684E15,
"displayValue": "6933706290423684"
},
{
"columnId": 6558791596199812,
"value": 5.556441535434628E15,
"displayValue": "5556441535434628"
}
]
},
{
"id": 4992620981079940,
"rowNumber": 4,
"parentId": 6933706290423684,
"siblingId": 3304641721749380,
"expanded": true,
"createdAt": "2023-04-28T21:15:57Z",
"modifiedAt": "2023-04-28T21:25:45Z",
"cells": [
{
"columnId": 6101753539127172,
"value": "1c",
"displayValue": "1c"
},
{
"columnId": 5228827298293636
},
{
"columnId": 5678576703590276,
"value": 4.99262098107994E15,
"displayValue": "4992620981079940"
},
{
"columnId": 2055191968829316,
"value": 6.933706290423684E15,
"displayValue": "6933706290423684"
},
{
"columnId": 6558791596199812,
"value": 3.30464172174938E15,
"displayValue": "3304641721749380"
}
]
},
{
"id": 3480469833469828,
"rowNumber": 5,
"parentId": 4992620981079940,
"expanded": true,
"createdAt": "2023-04-28T21:12:11Z",
"modifiedAt": "2023-04-28T21:25:45Z",
"cells": [
{
"columnId": 6101753539127172,
"value": "1c-1",
"displayValue": "1c-1"
},
{
"columnId": 5228827298293636,
"value": "child 1c-1",
"displayValue": "child 1c-1"
},
{
"columnId": 5678576703590276,
"value": 3.480469833469828E15,
"displayValue": "3480469833469828"
},
{
"columnId": 2055191968829316,
"value": 4.99262098107994E15,
"displayValue": "4992620981079940"
},
{
"columnId": 6558791596199812
}
]
},
{
"id": 770536852088708,
"rowNumber": 6,
"siblingId": 6933706290423684,
"expanded": true,
"createdAt": "2022-07-11T13:32:02Z",
"modifiedAt": "2023-04-28T21:25:45Z",
"cells": [
{
"columnId": 6101753539127172,
"value": 2.0,
"displayValue": "2"
},
{
"columnId": 5228827298293636,
"value": "green",
"displayValue": "green"
},
{
"columnId": 5678576703590276,
"value": 7.70536852088708E14,
"displayValue": "770536852088708"
},
{
"columnId": 2055191968829316
},
{
"columnId": 6558791596199812,
"value": 6.933706290423684E15,
"displayValue": "6933706290423684"
}
]
},
{
"id": 7046650170566532,
"rowNumber": 7,
"siblingId": 770536852088708,
"expanded": true,
"createdAt": "2022-10-02T13:49:03Z",
"modifiedAt": "2023-04-28T21:25:45Z",
"cells": [
{
"columnId": 6101753539127172,
"value": 3.0,
"displayValue": "3"
},
{
"columnId": 5228827298293636,
"value": "white",
"displayValue": "white"
},
{
"columnId": 5678576703590276,
"value": 7.046650170566532E15,
"displayValue": "7046650170566532"
},
{
"columnId": 2055191968829316
},
{
"columnId": 6558791596199812,
"value": 7.70536852088708E14,
"displayValue": "770536852088708"
}
]
},
{
"id": 6903384426145668,
"rowNumber": 8,
"siblingId": 7046650170566532,
"expanded": true,
"createdAt": "2023-02-23T17:30:36Z",
"modifiedAt": "2023-04-28T21:25:45Z",
"cells": [
{
"columnId": 6101753539127172,
"value": 4.0,
"displayValue": "4"
},
{
"columnId": 5228827298293636,
"value": "red",
"displayValue": "red"
},
{
"columnId": 5678576703590276,
"value": 6.903384426145668E15,
"displayValue": "6903384426145668"
},
{
"columnId": 2055191968829316
},
{
"columnId": 6558791596199812,
"value": 7.046650170566532E15,
"displayValue": "7046650170566532"
}
]
},
{
"id": 7984069460840324,
"rowNumber": 9,
"parentId": 6903384426145668,
"expanded": true,
"createdAt": "2023-04-28T21:12:11Z",
"modifiedAt": "2023-04-28T21:25:45Z",
"cells": [
{
"columnId": 6101753539127172,
"value": "4a",
"displayValue": "4a"
},
{
"columnId": 5228827298293636,
"value": "child 4a",
"displayValue": "child 4a"
},
{
"columnId": 5678576703590276
},
{
"columnId": 2055191968829316,
"value": 6.903384426145668E15,
"displayValue": "6903384426145668"
},
{
"columnId": 6558791596199812
}
]
}
]
}