AppScript UrlFetchApp.fetch() не работает для веб-приложения, доступного только пользователям домена

#google-apps-script #web-applications #google-oauth #google-workspace #urlfetch

#google-apps-script #веб-приложения #google-oauth #google-workspace #urlfetch

Вопрос:

В настоящее время у меня проблема, из-за которой у меня:

  • Основная учетная запись, которая владеет appscript, развернутым как веб-приложение, с параметром excute, установленным на «Me», и доступом, установленным на «Любой в @[mydomain].com» с помощью методов doGet() и doPost().

  • Вторичная учетная запись, владеющая appscript, отправляет UrlFetchApp.fetch(«mainAppURL»).

Запуск скрипта во вторичной учетной записи возвращает HTML страницы входа в Google с response.getContentText() и не запускает метод doGet(), но запуск mainAppURL в адресной строке, похоже, работает.

Почему скрипт не создает всплывающее окно с запросом пользователя на вход?

Комментарии:

1. Является ли дополнительная учетная запись в вашем домене?

2. Да, это в том же домене! В настоящее время пытаюсь сгенерировать токен OAuth у вторичного пользователя и передать токен в заголовке, но получаю «401 несанкционированное исключение»

3. БОЖЕ, ЭТО БЫЛО ОНО!!!! Я только что запустил функцию DriveApp, чтобы включить область, и это сработало! Спасибо!

4. @TheMaster Вы можете опубликовать мой ответ, чтобы я мог отметить его как решенный, спасибо

5. Отлично! Вашего ответа достаточно. Вы можете пометить проблему как решаемую самостоятельно.

Ответ №1:

Как сказал @TheMaster, область действия DriveApp должна быть в свойствах проекта (запуск команды DriveApp запустит авторизацию), чтобы скрипт из дополнительной учетной записи в домене мог выполнить запрос на выборку в качестве скрипта, принадлежащего другой учетной записи в том же домене.