任意 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 单元格的多个值,下面是一个为单元格指定两个值的示例(JohnMaya):

[
    {
        "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.