0

おはようございます。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§☺▄ÜQ­K¡^ Õ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

私が得ることができる助けをいただければ幸いです!!! このエラーは本当に厄介で、修正するのにかなりの時間を費やしました。

** セキュリティ上の理由からアクセス トークンを変更しましたが、使用しているトークンは間違いなく有効です **

4

2 に答える 2

0

ジョセフが回答で示唆したように、URL の {columnId} に指定した値が有効であることを確認する必要があります。ただし、発生しているエラーは、その問題とは無関係である可能性があります。

考えられるのは、cURL が Content-Type ヘッダーを値 "application/x-www-form-urlcoded" に自動的に設定していることです。これは、Smartsheet へのこの要求に対して有効なコンテンツ タイプではありません。このエラーは、リクエストに Content-Type ヘッダーを設定するだけで解決できます (つまり、リクエストに this:-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 で単一引用符の代わりに (エスケープされた) 二重引用符を使用したことにも注意してください。これを行う必要がある場合とない場合があります (プラットフォームによって異なります)。

于 2015-10-22T17:22:40.200 に答える