Разрешение на доступ к Google Sheets - PullRequest
0 голосов
/ 21 января 2020

Будучи относительно новым для Google Apps Script, я создал / собрал скрипт для электронной таблицы, который будет доступен другим пользователям (можно редактировать). Сценарий работает нормально из моей учетной записи, но при запуске другими пользователями появляется следующее сообщение:

"Не удалось найти элемент с данным идентификатором или у вас нет прав доступа it. "

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

Вопрос 1: Есть ли способ настройки разрешения вокруг него?

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

  1. Создать новый скрытый лист в общей таблице
  2. Копировать данные на новый скрытый лист
  3. Очистить содержимое с исходного листа
  4. Триггер времени для запуска скрипта для отправки электронных писем, создания новых файлов и копирования данных из скрытого ш eet, затем удалите его

Вопрос 2: Если ответ на вопрос 1 отрицательный, может ли кто-нибудь придумать лучший способ сделать это, кроме описанных выше шагов?

Спасибо.

1 Ответ

1 голос
/ 22 января 2020

Вы можете создать WebApp

  • Развернуть как "Вы" (Execute the app as: Me) с возможностью совместного использования Who has access to the app: Anyone, Anyone within [your domain] или Anyone, even anonymous.

  • WebApp будет иметь все права доступа, которые у вас есть, независимо от того, какой пользователь запускает приложение.

Вы можете внедрить учетную запись службы с делегированием по всему домену в своем сценарии

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

См. здесь для образца.

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