无法使用 "level" 查询读取 objectValue 数据
Unable to read objectValue data using "level" query
根据 smartsheet API 文档,我应该能够在我的选项中使用 "level" 参数来获取多联系人列的复杂对象。
不幸的是,我在 return 中得到的只是 value 和 displayValue。
我是不是做错了什么?
var options = {
id: SHEET_ID, //Id of sheet
queryParameters = {
include: ["objectValue"],
level: 1
}
}
ss.sheets.getSheet(options)
.then(function (results) {
console.log(results.rows[args[0]].cells[6])
})
以上代码returns:
{ columnId: 8746190272522116, displayValue: 'John Smith, Danny Doe' }
我已经验证(使用 Postman)Smartsheet API 确实支持您描述的场景。即,如果我提交此 Get Sheet 请求:
https://api.smartsheet.com/2.0/sheets/5831916227192708?include=objectValue&level=1
...然后响应确实包含我的 sheet:
中多联系人单元格的复杂对象
{
"id": 5831916227192708,
...
"rows": [
{
"id": 5942480978372484,
...
"cells": [
{
"columnId": 3992195570132868,
"objectValue": {
"objectType": "MULTI_CONTACT",
"values": [
{
"objectType": "CONTACT",
"email": "john_doe@test.com",
"name": "John Doe"
},
{
"objectType": "CONTACT",
"email": "jane_doe@test.com",
"name": "Jane Doe"
}
]
},
"displayValue": "John Doe, Jane Doe"
},
...
]
},
...
]
}
但是,Smartsheet JavaScript SDK 似乎还不支持这种情况。
SDK 更新稍微落后于新 API 功能的发布并不罕见。您可能会考虑在 JavaScript SDK repo 中记录一个问题以请求添加对此方案的支持——或者更好的是,向该 repo 提交一个 PR 以添加对该方案的支持。同时,您需要在集成中自行实现此功能(即,因为此时您不能依赖开箱即用的 SDK 功能来提供它)。
您只需从 options
定义中删除数组符号:
var options = {
id: SHEET_ID, //Id of sheet
queryParameters = {
include: "objectValue",
level: 1
}
}
ss.sheets.getSheet(options)
.then(function (results) {
console.log(results.rows[args[0]].cells[6])
})
根据 smartsheet API 文档,我应该能够在我的选项中使用 "level" 参数来获取多联系人列的复杂对象。 不幸的是,我在 return 中得到的只是 value 和 displayValue。
我是不是做错了什么?
var options = {
id: SHEET_ID, //Id of sheet
queryParameters = {
include: ["objectValue"],
level: 1
}
}
ss.sheets.getSheet(options)
.then(function (results) {
console.log(results.rows[args[0]].cells[6])
})
以上代码returns:
{ columnId: 8746190272522116, displayValue: 'John Smith, Danny Doe' }
我已经验证(使用 Postman)Smartsheet API 确实支持您描述的场景。即,如果我提交此 Get Sheet 请求:
https://api.smartsheet.com/2.0/sheets/5831916227192708?include=objectValue&level=1
...然后响应确实包含我的 sheet:
中多联系人单元格的复杂对象{
"id": 5831916227192708,
...
"rows": [
{
"id": 5942480978372484,
...
"cells": [
{
"columnId": 3992195570132868,
"objectValue": {
"objectType": "MULTI_CONTACT",
"values": [
{
"objectType": "CONTACT",
"email": "john_doe@test.com",
"name": "John Doe"
},
{
"objectType": "CONTACT",
"email": "jane_doe@test.com",
"name": "Jane Doe"
}
]
},
"displayValue": "John Doe, Jane Doe"
},
...
]
},
...
]
}
但是,Smartsheet JavaScript SDK 似乎还不支持这种情况。
SDK 更新稍微落后于新 API 功能的发布并不罕见。您可能会考虑在 JavaScript SDK repo 中记录一个问题以请求添加对此方案的支持——或者更好的是,向该 repo 提交一个 PR 以添加对该方案的支持。同时,您需要在集成中自行实现此功能(即,因为此时您不能依赖开箱即用的 SDK 功能来提供它)。
您只需从 options
定义中删除数组符号:
var options = {
id: SHEET_ID, //Id of sheet
queryParameters = {
include: "objectValue",
level: 1
}
}
ss.sheets.getSheet(options)
.then(function (results) {
console.log(results.rows[args[0]].cells[6])
})