[英]Google Sheets API v4: Add named or protected ranges
无法从Google Apps脚本获取用于将已命名/受保护范围添加到Google Sheet的Google Sheets API v4代码,请使用此处的代码示例[[link]] [1]。 它给出了错误(正确的json格式是什么?):
接收到无效的JSON有效负载。 未知名称“ requests”:找不到字段。 (第5行,文件“代码”)
下面是代码:
function protectSheet() {
var sheetId = "sheet id";
var spreadsheetId = "spreadsheet id";
Sheets.Spreadsheets.Values.batchUpdate(
{
"requests": [
{
"addNamedRange": {
"namedRange": {
"name": "Counts",
"range": {
"sheetId": sheetId,
"startRowIndex": 0,
"endRowIndex": 3,
"startColumnIndex": 0,
"endColumnIndex": 5,
},
}
}
},
{
"addProtectedRange": {
"protectedRange": {
"range": {
"sheetId": sheetId,
"startRowIndex": 3,
"endRowIndex": 4,
"startColumnIndex": 0,
"endColumnIndex": 5,
},
"description": "Protecting total row",
"warningOnly": true
}
}
}
]
}, spreadsheetId);
}
[1]: https://developers.google.com/sheets/api/samples/ranges
我认为您的要求内容正确。 那么如何进行如下修改?
Sheets.Spreadsheets.Values.batchUpdate(
Sheets.Spreadsheets.batchUpdate(
如果请求正文有任何问题,请告诉我。 我想考虑这些问题。
“ requests [0] .add_named_range.named_range.range.sheet_id”(TYPE_INT32)上的值无效,“工作表ID”无效
从错误消息中,发现您使用工作sheet id
作为工作表ID。 因此,请将工作表ID从工作sheet id
修改为正确的ID。
如果要手动获取工作表ID。 请在这里检查。
如果要使用脚本检索工作表ID,该如何处理?
var spreadsheetId = "spreadsheet id"; // Please set spreadsheetId here.
var ss = SpreadsheetApp.openById(spreadsheetId);
var sheetId = ss.getSheetByName(sheetName).getSheetId(); // sheetName is the sheet name of each sheet.
要么
var sheetId = ss.getSheets()[index].getSheetId(); // index is the index of sheet. This is start from 0.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.