任意 HTTP API 调用以将单元格值输入 MUTL_PICKLIST 列
Arbitrary HTTP API Call to Enter Cell Value into a MUTL_PICKLIST Column
我对 Smartsheets 和编程还很陌生。
我正在使用 Integromat 更新 Smartsheets 中的各种内容 - 99% 的操作都是通过一个漂亮的傻瓜界面完成的。
但我有一个问题,其中一列是 MULTI_PICKLIST,无法使用本机虚拟友好 UI 处理。
基本上,我添加了一个新行,其中一列是 MULTI_PICKLIST 列。为了在此单元格中输入值,我需要进行任意 HTTP API 调用。
我知道行 ID,我知道列 ID。我只需要构建 HTTP 请求的主体。
可能的选项列表值为:John 或 Maya 或 Paul。假设我需要在列中输入“John”。
附上,你会发现我的“进步”。很明显,我坚持使用 BODY 部分。有人可以给我一点推动吗?我认为它必须像 5 行代码。
这是我拥有的:
DZ
一些事情...
首先,您为 URL 使用的值看起来不太正确。它应该采用以下格式,其中 {sheetId}
替换为您要更新的 sheet 的 ID:
sheets/{sheetId}/rows
其次,我认为您不需要为 查询字符串 指定的 key/value -- 我建议您删除此信息。
接下来,我不确定 Type 的其他可能值是什么(根据您的屏幕截图,它看起来像一个选择列表)——但是如果 JSON
是一个选项,我建议选择该选项而不是 Text
。
最后,这里是 Body 的正确 structure/contents 的任何示例,用值 John
更新 MULTI_PICKLIST 单元格 -- 替换id
属性 (5225480965908356) 的值替换为您的行 ID,并将 columnId
属性 (8436269809198980) 的值替换为您的列 ID:
[
{
"id": "5225480965908356",
"cells": [
{
"columnId": "8436269809198980",
"objectValue": {
"objectType": "MULTI_PICKLIST",
"values": ["John"]
}
}
]
}
]
如果您想 select 一个 MULTI_PICKLIST 单元格的多个值,下面是一个为单元格指定两个值的示例(John
和 Maya
):
[
{
"id": "5225480965908356",
"cells": [
{
"columnId": "8436269809198980",
"objectValue": {
"objectType": "MULTI_PICKLIST",
"values": ["John", "Maya"]
}
}
]
}
]
** 更新 **
我上面的初始回答假设您想要更新 MULTI-PICKLIST 列中的单元格值(b/c 您已经select编辑PUT
用于屏幕截图中的 Method 值——这是用于更新行的动词)。不过,刚刚重新阅读了您的问题,听起来您可能想要 add 一个新行...对吗?如果是这样,那么 Method 的值应该是 POST
(不是 PUT),并且 Body 需要在cells
数组指定新行中其他单元格的值。以下示例请求(与动词 POST
一起使用时)添加一个新行并填充该行中的 3 个单元格,第一个是 MULTI_PICKLIST 单元格:
[
{
"cells": [
{
"columnId": "8436269809198980",
"objectValue": {
"objectType": "MULTI_PICKLIST",
"values": ["John"]
}
},
{
"columnId": 6101753539127172,
"value": "test value"
},
{
"columnId": 4055216160040836,
"value": 10
}
]
}
]
有关 Add Rows 请求的更多信息可以在 Smartsheet API 文档中找到:Add Rows.
我对 Smartsheets 和编程还很陌生。
我正在使用 Integromat 更新 Smartsheets 中的各种内容 - 99% 的操作都是通过一个漂亮的傻瓜界面完成的。
但我有一个问题,其中一列是 MULTI_PICKLIST,无法使用本机虚拟友好 UI 处理。
基本上,我添加了一个新行,其中一列是 MULTI_PICKLIST 列。为了在此单元格中输入值,我需要进行任意 HTTP API 调用。
我知道行 ID,我知道列 ID。我只需要构建 HTTP 请求的主体。
可能的选项列表值为:John 或 Maya 或 Paul。假设我需要在列中输入“John”。
附上,你会发现我的“进步”。很明显,我坚持使用 BODY 部分。有人可以给我一点推动吗?我认为它必须像 5 行代码。
这是我拥有的:
DZ
一些事情...
首先,您为 URL 使用的值看起来不太正确。它应该采用以下格式,其中 {sheetId}
替换为您要更新的 sheet 的 ID:
sheets/{sheetId}/rows
其次,我认为您不需要为 查询字符串 指定的 key/value -- 我建议您删除此信息。
接下来,我不确定 Type 的其他可能值是什么(根据您的屏幕截图,它看起来像一个选择列表)——但是如果 JSON
是一个选项,我建议选择该选项而不是 Text
。
最后,这里是 Body 的正确 structure/contents 的任何示例,用值 John
更新 MULTI_PICKLIST 单元格 -- 替换id
属性 (5225480965908356) 的值替换为您的行 ID,并将 columnId
属性 (8436269809198980) 的值替换为您的列 ID:
[
{
"id": "5225480965908356",
"cells": [
{
"columnId": "8436269809198980",
"objectValue": {
"objectType": "MULTI_PICKLIST",
"values": ["John"]
}
}
]
}
]
如果您想 select 一个 MULTI_PICKLIST 单元格的多个值,下面是一个为单元格指定两个值的示例(John
和 Maya
):
[
{
"id": "5225480965908356",
"cells": [
{
"columnId": "8436269809198980",
"objectValue": {
"objectType": "MULTI_PICKLIST",
"values": ["John", "Maya"]
}
}
]
}
]
** 更新 **
我上面的初始回答假设您想要更新 MULTI-PICKLIST 列中的单元格值(b/c 您已经select编辑PUT
用于屏幕截图中的 Method 值——这是用于更新行的动词)。不过,刚刚重新阅读了您的问题,听起来您可能想要 add 一个新行...对吗?如果是这样,那么 Method 的值应该是 POST
(不是 PUT),并且 Body 需要在cells
数组指定新行中其他单元格的值。以下示例请求(与动词 POST
一起使用时)添加一个新行并填充该行中的 3 个单元格,第一个是 MULTI_PICKLIST 单元格:
[
{
"cells": [
{
"columnId": "8436269809198980",
"objectValue": {
"objectType": "MULTI_PICKLIST",
"values": ["John"]
}
},
{
"columnId": 6101753539127172,
"value": "test value"
},
{
"columnId": 4055216160040836,
"value": 10
}
]
}
]
有关 Add Rows 请求的更多信息可以在 Smartsheet API 文档中找到:Add Rows.