我几乎逐字逐句地使用http://smartsheet-platform.github.io/api-docs/?python#update-row(s)上的 Python 示例。不同之处在于我只更新一行中的一个单元格。我可以看到变量中的值发生变化,row_a
但该行没有在 Smartsheet 本身中更新。
这是我的代码,与 API 指南中发布的代码几乎相同:
row_a = smartsheet.Sheets.get_row(sheetId, 916467282667396)
cell_a = row_a.get_column(5937660066850692)
cell_a.value = 'new value'
row_a.set_column(cell_a.column_id, cell_a)
smartsheet.Sheets.update_rows(sheetId, [row_a])
运行此代码后,看到文本“新值”没有出现在 Smartsheet 中,我在最后一行前面添加了单词print以查看 API 调用返回的内容,这就是结果(为了便于阅读,我添加了缩进):
{
"requestResponse": null,
"result": {
"code": 1062,
"name": "InvalidRowLocationError",
"recommendation": "Do not retry without fixing the problem.",
"shouldRetry": false,
"message": "Invalid row location.",
"statusCode": 400
}
}
如何修复InvalidRowLocationError
并将我的行更新发送到 Smartsheet?