Din*_*Din 3 javascript google-sheets google-apps-script google-sheets-api
无法从 Google Apps 脚本获取 Google Sheets API v4 代码来将命名/受保护的范围添加到 Google 表格,请使用此处的代码示例 [[link]][1]。它给出了错误(正确的 json 形式是什么?):
收到无效的 JSON 负载。未知名称“请求”:找不到字段。(第 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
Run Code Online (Sandbox Code Playgroud)
我认为您的请求正文是正确的。那么修改如下怎么样?
Sheets.Spreadsheets.Values.batchUpdate(
Run Code Online (Sandbox Code Playgroud)
Sheets.Spreadsheets.batchUpdate(
Run Code Online (Sandbox Code Playgroud)
如果您对请求正文有任何问题,请告诉我。我想思考一下这些问题。
“requests[0].add_named_range.named_range.range.sheet_id”处的值无效(TYPE_INT32),“工作表 ID”无效
从你的错误信息来看,发现你使用的sheet id
是sheet 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.
Run Code Online (Sandbox Code Playgroud)
或者
var sheetId = ss.getSheets()[index].getSheetId(); // index is the index of sheet. This is start from 0.
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2787 次 |
最近记录: |