Назначьте разрешения для привязанного сценария для доступа пользователей к службам Google при копировании электронной таблицы в новую папку. - PullRequest
1 голос
/ 01 мая 2019

Я установил скрипт, который по сути копирует содержимое из папки 'template' на моем диске Google и перемещает скопированное содержимое во вновь созданную папку в другом месте. Папка «Шаблон» всегда будет содержать 9 отдельных электронных таблиц, каждая со своим уникальным ограниченным сценарием.

Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда я копирую электронные таблицы, мне приходится заново авторизовывать доступ для каждого из 9 сценариев, прежде чем я смогу начать использовать созданные мной функции.

Я бы хотел иметь возможность назначить или предоставить разрешение для связанного сценария для доступа к нужным службам во время процесса, который я использую для копирования электронной таблицы в новое место.

Вот пример кода, который я использую для копирования электронных таблиц. Есть ли в любом случае доступ к сценарию для назначения разрешений здесь?

function copyContents(template_folder, new_folder){
     var files = template_folder.getFiles();

     while (files.hasNext()) {
         var file = files.next();
         var file_name = file.getName()
         var copied_file = file.makeCopy(file_name,new_folder)
        // Assign permissions here...
    }
 }

1 Ответ

1 голос
/ 02 мая 2019

Невозможно предоставить авторизацию программно, так как это подразумевает угрозу безопасности. Альтернативой является публикация ваших ограниченных сценариев в качестве надстроек, поэтому вы авторизуете их один раз и сможете использовать их в любой электронной таблице.

Имейте в виду, что вам по-прежнему нужно включать надстройки для каждого документа, который вы хотите использовать, но обычно это так же просто, как наличие меню onOpen, которое работает с ScriptApp.authMode.NONE

Примечание: я почти уверен, что об этом уже спрашивали и отвечали на этом сайте.

Похожие вопросы без ответов с положительным баллом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...