Как получить имя пользователя, который внес изменения в таблице?
Прошу помочь с поиском скрипта, который будет записывать на определенном листе (в определенной ячейке) имя пользователя, который внес какое либо изменение в существующую книгу Google Sheets.
Сразу скажу, что на просторах интернета есть множество подобных скриптов, но каждый из них записывает почту/имя пользователя - ТОЛЬКО если им был сам владелец гугл книги. Даже если выдать все права определенному пользователю (например xxx@gmail.com), то все равно ни один скрипт не может "вытащить" из этого пользователя данные, которые как то идентифицировали бы его.
Мне необходимо отслеживать кто и когда вносил изменения. Но без имени или почты пользователя эта задача никак не может быть решена.
Пробовал менять настройки доступа к книге (только по ссылке или только определенным пользователям). Все безрезультатно...
Буду признателен за любую помощь.
У меня есть одна идея, но я сам не могу его реализовать, так как далек от языков программирования. И не знаю, будет ли это работать или нет.
Идея такая:
Когда кто то вносит изменение, я на определенном листе поочередно на каждой строчке получаю информацию о времени изменения, имя листа, имя ячейки, старое значение, новое значение. Так вот, можно ли как то просто автоматически закрашивать каждую строчку под определенный цвет, в зависимости от того, кто внес изменение? Типо не придется "рассекречивать" почту пользователя, а просто скрипт будет закрашивать ячейку в определенный цвет и тем самым я буду знать кто за какие изменения в таблице ответственен.
Вы можете идентифицировать пользователя только будучи администратором домена, которому принадлежит файл.
Вы можете назначать метки пользователям, добавляя какой-то уникальный идентификатор. Далее по этому идентификатору вы можете отслеживать пользователя через триггер, и, возможно, сможете узнать имя этого пользователя, если он сам признается.
Считаю подход нечестным, поэтому раскрывать реализацию не буду.
rPman, да. Получая сервис от Гугл, он ограничивает нас как физических лиц, от всех дальнейших распространений информации о других участниках. Т.е. рассуждения далее относятся только к обычным аккаунтам не платным. Понятное дело, что мы можем видеть список редакторов и даже время, когда они что-то изменили. И эта информация относится к статусу самого документа. А вот когда мы пытаемся затрекать пользователя, где он, что он делает, кто он, это уже не относится непосредственно к документу. Гугл всячески пытается ограничить разработчика в возможности произвести подобное исследование. Например, несколько лет назад можно было свободно узнать, кто сейчас отредактировал документ. Потом они прикрыли это для устанавливаемых триггеров, а потом и для простых. Прямого объяснения в правилах этому нет, но наблюдаеемая тенденция именно такая. Очевидно, что это связано с безопасностью.
Можно форсировать этот вопрос, заставив каждого пользователя установить свой собственный триггер, чтобы каждый пользователь делал отчет о самом себе сам. Это уже не будет противоречить распространению данных о пользователе, т.к. он сам себя раскрывает.
Alexander Ivanov, в таком случае помогите, пожалуйста, установить собственный триггер за каждого пользователя, как вы предложили. Я вообще не понимаю о чем речь и если есть возможность поясните, что конкретно необходимо сделать
я и пытаюсь понять с чьей безопасностью это связано? какого рода проблему может создать понимание КТО редактировал документ? особенно когда гугл может не отдавать никакой информации о пользователе кроме его id.
Автору вопроса нужно просто отслеживать изменения в документе с пометками что вот это одним человеком, а то - другим.
Alexander Ivanov, разве гугл сообщает информацию о том КТО читает документ? там всякие неопознанные опоссумы рисуются
хотя, если щелкнуть курсором в документ, все остальные текущие читатели видят никнейм пользователя, это здесь и сейчас, при необходимости написать краулер и собирать информацию можно уже сейчас
rPman, да, если вы редактор документа, то вы видите других редакторов документа. И тут есть дисбаланс, т.к. триггеры не выводят ни редакторов ни анонимусов. А когда-то было наоброт - триггеры видели и анонимусов и редакторов.
Про краулеры я тоже размышлял. Но там такая ситуация, что это нельзя масштабировать на неограниченное число пользователей. Т.е. возможно купирование проблемы. Плюс, анонимусов вычислить нельзя.
Alexander Ivanov я был бы вам очень признателен за раскрытие вопроса. Понимаю, что его может кто то в каких-то своих других корыстных целях может и применит и совесть его будет не чиста. Но в моем случае, доступ к таблице имеет только 3 человека. И все они редакторы. И в интересах нашей деятельности, необходимо отслеживать изменения.
У гугл таблицы есть функция, которая отображает старые версии файла и там как раз выделяются определенным цветом ячейки, которые были в редактировании тем или иным пользователем (с отображением реальной почты того кто работал с этой ячейкой). Так вот. Почему подобная вшитая функция Гугла считается безопасным, а мой вариант уже нет?))))