如何将覆盖验证包含到 add_rows 请求 Smartsheet api

How to include OverrideValidation to add_rows request Smartsheet api

我只是在做一个简单的 add_rows 请求,需要将 overrideValidation 设置为 True,这样插入就不会因为 Picklist 列上的拼写错误而失败。

   row.to_top = True
   row.cells.append({
       #date of service
       "columnId": column_id,
       "displayValue": "not a doc",
       'strict': False
   })
   row.cells.append({
       #Summary Finished
       "columnId": column_id2,
       "value": True
   })
   response = smartsheet_client.Sheets.add_rows(
       sheet_id,       # sheet_id
       [row],
       )

响应:{ 状态:400 错误请求 内容: { { "errorCode": 5536, "message": "The value \"不是文档\"无法保存在列 \"Prescribing MD\" 中。此列仅限于 PICKLIST 值。", "refId":“195gawcb3hbup” } } {"result": {"code": 5536, "errorCode": 5536, "message": "The value \"not a doc\" 无法保存在列 \"Prescribing MD\"。此列仅限于 PICKLIST 值。", "name": "ApiError", "recommendation": "Do not retry without fixing the problem. ", "refId": "195gawcb3hbup", "shouldRetry":错误,"statusCode":400}}

在您要覆盖的每个单元格中包含 overrideValidation 参数。

   row.cells.append({
       #date of service
       "columnId": column_id,
       "displayValue": "not a doc",
       "overrideValidation": True,
       'strict': False
   })

有关可以包含哪些参数的更多详细信息,请参阅 API docs

请注意,您必须是 sheet 的管理员才能覆盖验证。此外,请考虑通常会启用数据验证,以防止像打字错误这样的值输入干净的数据。如果这不是您需要的优先事项,您可能需要考虑关闭验证,而不是尝试绕过它。