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

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

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

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

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

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

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

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

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

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

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

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

Вы можете явно указать области действия, которые использует ваш проект сценария, отредактировав его файл манифеста . Поле манифеста 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 перед публикацией.