Доброе утро,
Я ищу способ обновления выпадающих значений в столбце в моем Smartsheet. Выходя из Smartsheet API 2.0, мне удалось придумать следующий код для использования с curl, но я получаю следующую ошибку при запуске его в CMD.
Вот код, который я использую:
curl https://api.smartsheet.com/2.0/sheets/7654838910642052/columns/4 -H "Authorization: Bearer 6cn0otb4tdjueqzuflgnkzff17" -X PUT -d '{"title":"Weekend Date","index":4, "type" : "PICKLIST", "options" :["31-OCT-2015"]}' -k
Сообщение об ошибке, которое я получаю от CMD, выглядит следующим образом:
C:\New>curl https://api.smartsheet.com/2.0/sheets/7654838910642052/columns/4 -H "Authorization: Bearer 5cn0otb4tdjueqzuflgnkzff17" -X PUT -d '{"title":"Weekend Date","index":4, "type" : "PICKLIST", "options" :["31-OCT-2015"]}' -k
{"errorCode":1124,"message":"Invalid Content-Type header. Media type not supported."}curl: (6) Could not resolve host: type; Host not found
¶hA▓╔ôÒ±$═»ù0♠~¡lk§☺▄ÜQK¡^ Õf ƒîa♀ÛæçÂ"õ8Ê╝±↕åÊJcurl: (6) Could not resolve host: PICKLIST,; Host not found
curl: (6) Could not resolve host: options; Host not found
curl: (3) [globbing] error: bad range specification after pos 3
Буду признателен за любую помощь, я могу получить! Эта ошибка действительно раздражает, и я потратил много часов, пытаясь ее исправить.
** Обратите внимание, что я изменил токен доступа по соображениям безопасности, но токен, который я использую, определенно действителен **
Как предположил Джозеф в своем ответе, вы наверняка захотите убедиться, что значение, которое вы указываете для {columnId} в URL, является действительным. Однако ошибка, которую вы получаете, скорее всего, не связана с этой проблемой.
Вероятно, происходит то, что cURL автоматически устанавливает для заголовка Content-Type значение «application / x-www-form-urlcoded», которое не является допустимым типом содержимого для этого запроса к Smartsheet. Вы можете устранить эту ошибку, просто установив заголовок Content-Type самостоятельно в запросе (т.е. добавьте это: -H "Content-Type: application/json"
на запрос).
Например, мой запрос на обновление параметров списка выбора для столбца таким образом, чтобы единственным параметром было «31-OCT-2015», выглядит следующим образом:
curl https://api.smartsheet.com/2.0/sheets/{sheetId}/columns/{columnId} -H "Authorization: Bearer YOUR_TOKEN" -H "Content-Type: application/json" -X PUT -d "{\"type\":\"PICKLIST\", \"options\":[\"31-OCT-2015\"]}" -k
Обратите внимание, что для обновления опций списка выбора, единственные атрибуты, которые мне нужно установить в JSON: type
а также options
, Также обратите внимание, что я использовал (экранированные) двойные кавычки в JSON вместо одинарных кавычек — вам может понадобиться, а может и не понадобиться (в зависимости от вашей платформы).
Похоже, путь, который вы используете, может быть неправильным. Я вижу, что «4» включен в путь, где должен быть идентификатор столбца. Для обновления столбцов необходимо использовать следующий путь:
локон
https://api.smartsheet.com/2.0/sheets/{SheetId} / столбцы / {columnId}
Вы можете найти ссылку на API Вот.