Как насчет этого обходного пути?
Спецификация:
- Когда пользователи получают доступ (запускают сценарий) к веб-приложениям, которые были развернуты как
"Who has access to the app:": Anyone
, сценарий веб-приложений должен предоставляться пользователям. А также, токен доступа не требуется. Это спецификация от 11 апреля 2018 года.
Цель:
- Вы хотите получить доступ к веб-приложениям при условии
"Who has access to the app:": Anyone
без совместного использования сценария.
К сожалению, это может быть напрямую достигнуто спецификацией. Поэтому необходимо подумать об обходном пути.
Обход:
В описанной выше ситуации, когда вы хотите предоставить пользователям доступ к веб-приложениям без совместного использования сценария, я хотел бы предложить следующий обходной путь.
- Развертывание веб-приложений как
"Who has access to the app:": Anyone, even anonymous
.
- Когда пользователи получают доступ к веб-приложениям, пользователи используют пароль с параметром запроса и / или полезной нагрузкой.
С помощью указанных выше настроек вы можете предоставить пользователям доступ к веб-приложениям без совместного использования сценария. В этом случае вместо токена доступа используется пароль.
Пример сценария: сторона веб-приложений
В этом примере пароль используется в качестве параметра запроса. Это можно использовать как ключ API.
function doPost(e) {
if (e.parameter.password === "sample") {
return ContentService.createTextOutput("Done.");
}
return ContentService.createTextOutput("Error.");
}
function doGet(e) {
if (e.parameter.password === "sample") {
return ContentService.createTextOutput("Done.");
}
return ContentService.createTextOutput("Error.");
}
Пример скручивания: сторона клиента
curl -L "https://script.google.com/macros/s/###/exec?password=sample"
Примечание:
- Когда он обращается к веб-приложениям, развернутым с вышеуказанным условием, используя приведенный выше пример скручивания,
Done.
возвращается из doGet()
. Если пароль неверный, возвращается Error.
. Таким образом, вы можете предоставить пользователям доступ к веб-приложениям без совместного использования сценария.
- При изменении сценария веб-приложений разверните веб-приложения в новой версии. Этим отражается последний скрипт.
Ссылки: