smartsheet-api - 区分下拉多选(未定义选项)与常规文本列
问题描述
有什么方法可以区分下拉多选类型的列与常规文本列:
这应该是一个没有任何选项的多选下拉列表:
"id": 5414087443146628,
"version": 2,
"index": 2,
"title": "Column3",
"type": "TEXT_NUMBER",
"validation": false,
"width": 150
同样的问题也适用于未定义联系人选项的多联系人列表。
解决方案
为了测试您描述的场景,我在 Smartsheet 中创建了以下工作表结构,其中列名表示每列的类型:
然后我使用 Postman 为该工作表发出Get Sheet请求:
GET https://api.smartsheet.com/2.0/sheets/5831916227192708
API 响应的columns
部分如下所示:
{
"id": 5831916227192708,
...
"columns": [
{
"id": 1256050323154820,
"version": 0,
"index": 0,
"title": "Description",
"type": "TEXT_NUMBER",
"primary": true,
"validation": false,
"width": 124
},
{
"id": 5759649950525316,
"version": 0,
"index": 1,
"title": "Type=Text/Number",
"type": "TEXT_NUMBER",
"validation": false,
"width": 128
},
{
"id": 1323283741206404,
"version": 0,
"index": 2,
"title": "Type=Dropdown (single select)",
"type": "PICKLIST",
"validation": false,
"width": 111
},
{
"id": 7741495861110660,
"version": 2,
"index": 3,
"title": "Type=Dropdown (multiple select)",
"type": "TEXT_NUMBER",
"validation": false,
"width": 113
},
{
"id": 3048711514285956,
"version": 0,
"index": 4,
"title": "Type=Contact List (single select)",
"type": "CONTACT_LIST",
"validation": false,
"width": 122
},
{
"id": 3992195570132868,
"version": 1,
"index": 5,
"title": "Type=Contact List (multiple select)",
"type": "TEXT_NUMBER",
"validation": false,
"width": 125
}
],
...
}
在此响应中,我们看到以下内容:
- 如果列类型指定为Text/Number,则
type
属性值为TEXT_NUMBER
- 如果列类型指定为Dropdown (single select),则
type
属性值为PICKLIST
- 如果列类型指定为Dropdown (multiple select),则
type
属性值为TEXT_NUMBER
- 如果列类型指定为联系人列表(单选),则
type
属性值为CONTACT_LIST
- 如果列类型指定为联系人列表(多选),则
type
属性值为TEXT_NUMBER
因此,仅基于列元数据,似乎无法以编程方式区分下拉(多选)列与文本/数字列或联系人列表(多选)列与文本/数字列。IMO,似乎是Dropdown (multiple select)列类型和Contact List (multiple select)列类型返回的错误type: TEXT_NUMBER
。也许有 Smartsheet 的人可以在这里发表评论,以提供对这种行为的更多见解。
推荐阅读
- c# - 如何计算 MessagePack .NET 对象的大小?
- python-3.x - 数据流管道(python)未将输出写入 GCS
- reactjs - useReducer 递增/递减 2 而不是 1
- python - 如何使用 Beautifulsoup 获取最新版本的源码包
- reactjs - JSX One 根元素的概念令人困惑
- mysql - MySQL statefulset 部署与 persitence 卷不起作用
- android - 当应用程序从后台进入前台时,不会调用 Android launchWhenResumed
- javascript - 从输入文本中的提示中获取值
- html - 如何在绝对背景图像下方创建内容
- windows - 批处理脚本不回显变量的内容并且暂停不起作用