google-apps-script - 如何格式化 Sheets.Spreadsheets.batchUpdate(resource, spreadsheetId) 的资源以创建列组
问题描述
- 我正在尝试创建一个列组。
- 我已启用 Sheets API 版本 4。
- 我查看了Sheets API中的参考资料
使用代码完成我想出了这个代码:
function makeColumnGroup() { var ss=SpreadsheetApp.getActive(); var sh=ss.getSheetByName('Sheet21'); Sheets.Spreadsheets.batchUpdate({"range":[{dimension:"COLUMNS",startIndex:1,endIndex:3,sheetId:sh.getSheetId()}]},ss.getId()); }
我已经经历了几个不同的版本,但就目前而言,我得到了错误:
Invalid JSON payload received. Unknown name "range": Cannot find field. (line 4, file "20181212")
但在 API 参考中,它显示 JSON 格式的 AddDimensionGroupRequest 如下所示:
{
"range": {
object(DimensionRange)
}
}
DimensionRange 看起来像这样:
{
"sheetId": number,
"dimension": enum(Dimension),
"startIndex": number,
"endIndex": number
}
代码完成建议格式如下:
Sheets.Spreadsheets.batchUpdate(resource, spreadsheetId)
但我似乎无法想出找出该资源格式的神奇公式。过去的经验建议使用 Drive API 的格式如下:
Drive.Files.update({"parents": [{"id": subFldr.getId()}]}, res.getId());
但是,如果我使用 Sheets API 建议的格式,这将不起作用:
Sheets.Spreadsheets.batchUpdate({"range":{dimension:"COLUMNS",startIndex:1,endIndex:3,sheetId:sh.getSheetId()}},ss.getId());
我得到错误:
Invalid JSON payload received. Unknown name "range": Cannot find field. (line 4, file "20181212")
问题: 如何格式化资源参数?
解决方案
哦,哇,我想通了。这是代码:
function makeColumnGroup() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Sheet21');
var res={
"requests": [
{
"addDimensionGroup": {
"range": {
"dimension": "COLUMNS",
"startIndex": 1,
"endIndex": 3,
"sheetId": 1163414414
}
}
}
]
}
Sheets.Spreadsheets.batchUpdate(res,ss.getId());
}
它只是归结为直接从 API Explorer 复制代码。将来我会努力记住这一点。如果其中一位知识渊博的志愿者有更好的解决方案,我将不加检查。
推荐阅读
- visual-studio-code - 打开vscode时如何保持所有文件夹折叠?
- flutter - 你能在飞镖中制作一个多值对象类型的地图吗
- java - wait() 是否释放所有锁?
- angular - 错误类型错误:无法读取 SafeSubscriber.settingsService.create.subscribe.loading [as _next] 处未定义的属性“重置”
- google-apps-script - 遍历工作表中的行并比较另一个工作表中的值
- reactjs - 输入'号码 | {百分比:数字;}' 不可分配给类型 'string | 号码 | 未定义的 ts(2322)
- ethereum - 如果我的互联网在合约部署期间中断,会发生什么?我还会失去汽油费吗?
- minio - 无法将 sklearn 模型记录到 minio (s3) 服务器
- node.js - 如何通过集群分发在node js中订阅websocket接收到的信息?
- python - 计算还清贷款需要多长时间