В общем. Есть у меня какое-то подобие базы данных в Гугл Таблицах, я ввожу данные в ячейки, нажимаю на кнопку, которая связана со скриптом и с одного листа эти данные вносятся на другой лист, в пределах одной таблицы. Как мне находясь под одним пользователем можно было бы вносить данные, но чтобы удалить их этот пользователь уже не мог, а мог только владелец таблицы? Читал документацию по скриптам в разделе Protect, но так ничего интересного и не нашёл. Связать это с гугл формами не вариант, так как у меня должно быть все автоматизировано и я не хочу создавать тысячи этих Гугл форм и привязывать к разным страницам. Если кто-то может помочь, был бы очень благодарен. Спасибо.
dimonchik2013,
function Test() {
var ss = SpreadsheetApp
var ss2 = ss.getActiveSpreadsheet()
var ss3 = ss.openByUrl('ссылка на таблицу')
var list = ss2.getSheetByName('Тест')
var list2 = ss3.getSheetByName('Лист1')
var range = list2.getRange('A1:B10');
var protection = range.protect().setDescription('Sample protected sheet');
А разве то, что вы читали, не подходит? https://developers.google.com/apps-script/referenc...
Если у вас ограниченное число таблиц и страниц в них, то это можно и вручную сделать. Если страницы добавляются программно, то это должно вам подойти.
Ограниченное число страниц. Не подходит, потому что у активного пользователя нельзя убрать доступ к редактированию посредством этих методов. То есть, мне нужно, чтобы пользователь на одной странице заполнял данные и они вносились в соседние ячейки той же страницы, после чего у него закрывался бы доступ к тем ячейкам, в которые скрипт занес данные. Если есть какие-то другие похожие варианты было бы интересно узнать.
delongeroman, был вариант решения этого вопроса с помощью гугл форм, но у меня в листе 31 страница на 31 день в месяце заранее и каждый месяц создавать по 31 гугл форме не вариант
Есть решение. Нужно развернуть веб-приложение с аккаунта владельца и передавать в него данные нужного диапазона. Либо параметрами гет запроса, либо в теле пост запроса. И уже веб-приложение от имени владельца будет защищать нужный диапазон. (Устанавливать запрет и удалять всех редакторов, кроме себя.)
Ха, выглядит неплохо, но я случайно наткнулся на решение в ютубе. Надо создать триггер на основном аккаунте и когда пользователь запускает скрипт, у него на время выполнения этого скрипта становятся такие же права, как у администратора, но я слышал, что могут быть какие-то минусы в этом, поэтому, сейчас тестирую и возьму это на заметку)