Проблема со вставкой значения в ячейку, доступную из раскрывающегося списка в Smartsheet, с использованием API.

У меня возникли проблемы с вставкой значений в столбец «список выбора» с использованием API Smartsheet и Python. Значение, которое я пытаюсь вставить, — это один из вариантов из списка выбора, как видно на прикрепленном изображении. Я понятия не имею, как вставлять значения в ячейки в столбце списка выбора, и не могу найти для этого документацию.

Код:

      new_row = smartsheet.models.Row()
new_row.id = row_id
new_cell = smartsheet.models.Cell() #Cell configuration
new_cell.column_id = 5727843499960196
new_cell.value = "Jysk Bumpers"
new_cell.strict = False
new_row.cells.append(new_cell) 
updated_row = smartsheet_client.Sheets.update_rows(1398305516218244, # sheet_id
                                                   [new_row])
print("Complete")

Выход:

      {"response": {"statusCode": 400, "reason": "Bad Request", "content": {"detail": {"index": 0, "rowId": 8212749243377540}, "errorCode": 1235, "message": "Value is not supported for this column type. Use objectValue instead.", "refId": "wv6as6"}}}
Complete

Я пытался использовать objectValue, но все равно не смог.

1 ответ

В следующем примере кода обновляются 3 ячейки в существующей строке:

  • первая ячейка - этоText/Numberтип столбца
  • вторая ячейка — это тип столбца, который допускает несколько значений в ячейке
  • третья ячейка — это тип столбца, который допускает только одно значение в ячейке.
      # Define cell object (for the value in the first (primary) column - a text column) 
cell1 = smartsheet_client.models.Cell({
    'column_id': 3838793372985220,
    'object_value': 'new item'
})

# Define cell object (for the value in the second column - a multi-select dropdown) 
cell2 = smartsheet_client.models.Cell({
    'column_id': 3749273671624580,
    'object_value': smartsheet_client.models.MultiPicklistObjectValue({'values': ['blue', 'green', 'yellow']})
})

# Define cell object (for the value in the third column - a single-select dropdown) 
cell3 = smartsheet_client.models.Cell({
    'column_id': 8295973295810436,
    'object_value': 'cat 2'
})

# Create row that contains the 3 cells defined previously
row = smartsheet_client.models.Row({
    'id': 1724835021973380,
    'cells': [cell1, cell2, cell3]
})

# Update row
sheetId = 1303196942526340
result = smartsheet_client.Sheets.update_rows(sheetId, [row])

Судя по приложенному вами снимку экрана, похоже, что ячейка, которую вы пытаетесь заполнить, находится вDropdown listстолбец, который допускает несколько значений в ячейке, поэтому вы будете использовать подход, показанный выше, для установки значения для этой ячейки на вашем листе. Обратите внимание, что в приведенном выше примере кода я указываю 3 значения для раскрывающегося списка с множественным выбором вcell2:

      smartsheet_client.models.MultiPicklistObjectValue({'values': ['blue', 'green', 'yellow']})

...но вы можете указать только одно значение (Jysk Bumpers), если это единственный элемент, который вы хотите выбрать для этой ячейки.

      smartsheet_client.models.MultiPicklistObjectValue({'values': ['Jysk Bumpers']})
Другие вопросы по тегам