Apps Script требует авторизации пользователя для доступа к личным данным из встроенных или расширенных служб Google .
Предоставление прав доступа
![](https://developers.google.cn/static/apps-script/images/new-auth-1.png?authuser=6&hl=ru)
![](https://developers.google.cn/static/apps-script/images/new-auth-2.png?authuser=6&hl=ru)
Apps Script автоматически определяет области авторизации (например, доступ к файлам Google Sheets или Gmail) на основе сканирования кода. Закомментированный код все равно может генерировать запрос авторизации. Если скрипту требуется авторизация, при его запуске вы увидите одно из показанных здесь диалоговых окон авторизации.
Сценарии, которые вы ранее авторизовали, также запрашивают дополнительную авторизацию, если изменение кода добавляет новые службы. Сценарии могут не запрашивать авторизацию, если вы получаете доступ к сценарию как к веб-приложению, работающему под учетной записью владельца сценария .
Отзыв прав доступа
Чтобы отозвать доступ скрипта к вашим данным, выполните следующие действия:
- Посетите страницу разрешений для своей учетной записи Google. (Чтобы перейти на эту страницу в будущем, посетите Google.com , затем щелкните изображение своей учетной записи в правом верхнем углу экрана. Затем нажмите «Моя учетная запись» , затем «Подключенные приложения и сайты» в разделе «Вход и безопасность». раздел, а затем «Управление приложениями» .)
- Щелкните имя скрипта, авторизацию которого вы хотите отозвать, затем нажмите «Удалить» справа, затем «ОК» в появившемся диалоговом окне.
Разрешения и типы скриптов
Идентификатор пользователя, с которым запускается сценарий, и, следовательно, данные, к которым он может получить доступ, различаются в зависимости от сценария, в котором выполняется сценарий, как показано в таблице ниже.
Тип сценария | Скрипт работает как... |
---|---|
Автономный вариант , надстройка или привязка к документам, таблицам, слайдам или формам. | Пользователь за клавиатурой |
Пользовательская функция в электронной таблице | Анонимный пользователь ; однако ограничения квоты учитываются для пользователя на клавиатуре |
Веб-приложение или гаджет Google Сайтов | Пользователь за клавиатурой или владелец сценария, в зависимости от параметров, выбранных при развертывании приложения. |
Устанавливаемый триггер | Пользователь, создавший триггер |
Области авторизации вручную для таблиц, документов, слайдов и форм
Если вы создаете надстройку или другой скрипт, использующий службу электронных таблиц , службу документов , службу слайдов или службу форм , вы можете заставить диалоговое окно авторизации запрашивать доступ только к файлам, в которых находится надстройка или скрипт. используемые, а не все электронные таблицы, документы или формы пользователя. Для этого добавьте следующую аннотацию JsDoc в комментарий на уровне файла:
/**
* @OnlyCurrentDoc
*/
Противоположная аннотация, @NotOnlyCurrentDoc
, доступна, если ваш сценарий включает библиотеку , которая объявляет @OnlyCurrentDoc
, но главный сценарий фактически требует доступа не только к текущему файлу.
Жизненный цикл авторизации для надстроек
Дополнения для Google Таблиц, Документов, Презентаций и Форм обычно используют ту же модель авторизации, что и сценарии, привязанные к документу. Однако в определенных обстоятельствах их функции onOpen(e)
и onEdit(e)
выполняются в режиме без авторизации, что создает некоторые дополнительные сложности. Дополнительную информацию см. в руководстве по жизненному циклу авторизации надстроек .
Ограничения пользователей приложения OAuth
На приложения, использующие OAuth для доступа к пользовательским данным Google, включая проекты Apps Script, распространяются ограничения авторизации. Подробности см. в разделе Ограничения пользователей приложений OAuth .