Если вы используете doPost
, вы должны определить, какую именно функцию вызывать, проверяя полезную нагрузку, поскольку весь ввод от клиента направляется в эту единственную точку входа.Все параметры функции должны быть объектно-ориентированными (т.е. именованными).Если вы не используете асинхронные методы для соединения, вы заблокируете свой клиентский код.Кроме того, любой полученный вами ответ будет либо ContentService
, либо HtmlService
.
. Если вы используете шаблон google.script.run
, ваши вызовы могут быть направлены на определенную функцию сервера, вы можете легко указать параметры функции втрадиционными способами (т. е. позиционными и объектно-ориентированными), ваши вызовы гарантированно будут асинхронными, и вы можете возвращать большинство сериализуемых типов данных напрямую.
Дополнительно имеется аргумент доступа - doPost
доступен для любогодостаточно авторизованный клиент, возможно даже анонимный, в соответствии с настройками вашего опубликованного веб-приложения.Это может быть внешний код, который вы или другие пишете, например, скрипт php.Вызовы, сделанные через google.script.run
, доступны только со страницы, обслуживаемой HtmlService
(вы можете использовать API скриптов приложений для нацеливания отдельных функций из внешнего кода).Обратите внимание, что вы не обязаны публиковать как веб-приложение, чтобы использовать google.script.run
- то есть вы можете использовать их и в боковых панелях, и в модальных диалоговых окнах.
Существует также способ обработки ошибок / ответов.Если вы хотите добавить обратные вызовы успеха и неудачи для этих вызовов к doPost
, вам нужно будет выполнить больше работы, чем если бы вы хотели сделать то же самое для вызовов с google.script.run
- последний поддерживает простое добавление их двумя способами, withSuccessHandler
и withFailureHandler
.
В любом случае, вам следует ознакомиться с официальной документацией по следующим темам: