doGet przekazywanie parametru id google apps script

0

Potrzebuję w arkuszach google napisać 2 funkcje, które będę mógł uruchamiać jako właściel arkusza.
Nie jestem pewien czy moje myślenie jest prawidłowe. Nie miałem wcześniej do czynienia z Javascript.
Bardzo proszę o wskazówki.

 function doGet(e){
  var id = e.parameter.id;
  //zablokuj arkusz
  if(id == 1){
    var spreadsheet = SpreadsheetApp.getActive();
    spreadsheet.getRange('D10').activate();
    var protection = spreadsheet.getActiveSheet().protect();
    protection.addEditors(['[email protected]']);
    spreadsheet.getRange('A1').activate();
    protection.removeEditors(['[email protected]', '[email protected]']);
    } else if (id == 2) {
      //odblokuj arkusz
      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 zablokuj() {
  UrlFetchApp.fetch('https://script.google.com/macros/s/###################################################/exec/id=1', {headers: {authorization: "Bearer " + ScriptApp.getOAuthToken()}});
}

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

Kiedy uruchamiam, jako inny użytkownik funkcję (przypisaną do rysunku) zablokuj, to blokuje mi arkusz. Kiedy odblokuj to niestety nie działa.
Czy może mnie ktoś nakierować ?
Czy parametr id przekazuję prawidłowo do funkcji doGet ?
Oczywiście po każdej zmianie robię nowe wdrożenie.

0

Tu jest więcej wewnętrznych funkcji Googla niż samego JS.

Nie wiem, jak wywołujesz to swoje doGet() i co mu przekazujesz, więc trudno zgadywać.

Czym jest e i czym jest e.parameter?

0

@Freja Draco: Zamysł jest taki, że muszę uruchomić funkcję zablokuj, odblokuj lub ewentuelnie inne z funkcji doGet. Ze względu na to że funkcja doGet uruchamiana jest jako właściciel arkusza.
Zablokowany arkusz google jest udostępniany innym użytkownikom, którzy muszą mieć możliwość uruchamiania niektórych skryptów, żeby to było możliwe, to chciałem, na początku jakiejś funkcji odblokować arkusz a potem zablokować.
Mógłbym nie robić w ogóle tego doGet, ale w momencie uruchamiania funkcji zablokuj, uprawnienia do edycji ustawiają się również użytkownikowi, który edytuje arkusz.
Dlatego doczytałałem się, że możliwe jest uruchomienie funkcji doGet jako właściciel arkusza.

Zamysł jest taki, żeby funkcją zablokuj, uruchomić to co jest w doGet pomiędzy if (id==1) {...}
Funkcją odblokuj to co jest w if (id==2) {...}

0

Nie odpowiedziałeś, na żadne z moich pytań, więc ¯\_(ツ)_/¯

1 użytkowników online, w tym zalogowanych: 0, gości: 1