Области авторизации

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

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

Для большинства скриптов Apps Script автоматически определяет, какие области вам нужны; вы можете в любое время просмотреть области действия , используемые сценарием. Вы также можете явно указать области в своем манифесте , используя строки URL. Для определенных приложений, таких как надстройки , иногда требуется явное задание областей, поскольку опубликованные приложения всегда должны использовать максимально узкие области.

Во время процесса авторизации Apps Script представляет пользователю удобочитаемые описания требуемых областей действия. Например, если вашему сценарию требуется доступ только для чтения к вашим электронным таблицам, манифест может иметь область действия https://www.googleapis.com/auth/spreadsheets.readonly . Во время процесса авторизации скрипт с этой областью действия запрашивает у пользователя разрешение на «Просмотр ваших таблиц Google».

Некоторые области охвата включают другие. Например, при авторизации область https://www.googleapis.com/auth/spreadsheets разрешает доступ для чтения и записи к электронным таблицам.

Просмотр областей

Вы можете увидеть области, которые в настоящее время требуются вашему сценарию, выполнив следующие действия:

  1. Откройте проект сценария.
  2. Слева нажмите Обзор .
  3. Просмотрите области в Project OAuth Scopes .

Установка явных областей

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

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

Вы можете явно указать области, которые использует ваш проект скрипта, отредактировав его файл манифеста . Поле манифеста oauthScopes представляет собой массив всех областей, используемых проектом. Чтобы установить области вашего проекта, сделайте следующее:

  1. Откройте проект сценария.
  2. Слева нажмите проекта .
  3. Установите флажок Показать файл манифеста «appsscript.json» в редакторе .
  4. Слева нажмите редактора .
  5. Слева щелкните файл appsscript.json .
  6. Найдите поле верхнего уровня с надписью oauthScopes . Если его нет, вы можете добавить его.
  7. Поле oauthScopes указывает массив строк. Чтобы установить области, которые использует ваш проект, замените содержимое этого массива областями, которые вы хотите использовать. Например:
          {
            ...
            "oauthScopes": [
              "https://www.googleapis.com/auth/spreadsheets.readonly",
              "https://www.googleapis.com/auth/userinfo.email"
            ],
           ...
          }
    
  8. Вверху нажмите Сохранить .

Проверка OAuth

Некоторые области действия OAuth являются конфиденциальными , поскольку они разрешают доступ к данным пользователей Google. Если в вашем проекте скрипта используются области, которые разрешают доступ к данным пользователя, проект должен пройти проверку клиента OAuth , прежде чем вы сможете опубликовать его публично как веб-приложение или надстройку . Дополнительные сведения см. в следующих руководствах:

Ограниченные области

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

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