首页 > 解决方案 > 传递 doGet 参数

问题描述

我想以所有者权限运行锁定和解锁。锁定功能有效,但解锁功能无效。我是否正确发送了 id 参数?有人可以告诉你出了什么问题吗?如果可以吗?脚本阻止和解锁也可以吗?

function doGet(e){
  var id = e.parameter.id;
  //block
  if(id == 1){
    var spreadsheet = SpreadsheetApp.getActive();
    spreadsheet.getRange('D10').activate();
    var protection = spreadsheet.getActiveSheet().protect();
    protection.addEditors(['user1@email.com']);
    spreadsheet.getRange('A1').activate();
    protection.removeEditors(['user2@email.com', 'user3@email.com']);
    } else if (id == 2) {
      //unlock
      var spreadsheet = SpreadsheetApp.getActive();
      spreadsheet.getRange('E19').activate();
      var allProtections = spreadsheet.getActiveSheet().getProtections(SpreadsheetApp.ProtectionType.SHEET);
      var protection = allProtections[0];
      protection.remove();
      } 
  return ContentService.createTextOutput();
  };

function block() {
  UrlFetchApp.fetch('https://script.google.com/macros/s/###################################################/exec?id=1', {headers: {authorization: "Bearer " + ScriptApp.getOAuthToken()}});
}

function unlock() {
    UrlFetchApp.fetch('https://script.google.com/macros/s/###################################################/exec?id=2', {headers: {authorization: "Bearer " + ScriptApp.getOAuthToken()}});
}

标签: google-apps-script

解决方案


推荐阅读