【发布时间】:2016-04-01 19:26:51
【问题描述】:
我几乎逐字逐句地使用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?
【问题讨论】:
-
我刚刚使用我自己的工作表和行 ID 运行了您的代码,它对我有用。错误代码是尝试移动行的结果。您是否在代码中的任何位置调用
move_rows? -
不,我不是要移动一行。我发布的代码是我的所有代码(除了 sheetId 常量的导入和设置)。我完全感到困惑。我在每一行代码之后都放置了打印语句,以验证它是否按照我的预期进行,并且在“update_rows”命令之前一切都按预期运行。我什至用 Postman 手动运行 API 调用,它可以工作。确认 SDK 应该适用于 Python 2.7。
-
您介意将此问题发送至 api@smartsheet.com 吗?我们的支持团队希望与您合作重现该问题,以便我们可以帮助您重新开始。
标签: smartsheet-api