@kyprijan

Как с помощью UrlFetchApp активировать doGet(e)?

Как с помощью UrlFetchApp запроса активировать doGet(e) функцию в другом гугл скрипте?
Сам скрипт я разместил как веб приложение с параметром "Кто имеет доступ к приложению: все, включая анонимных пользователей"
И если его запустить просто в браузере(и через инкогнито) то он работает, а так нет.

Сам запрос.
var payload = {
        "name" : "name",
      };
      var options = {
        "method" : "GET",
        "payload" : payload,
        "followRedirects" : true,
        "muteHttpExceptions": true
      };
      var url="https://script.google.com/macros/s/(id скрипта)/exec";
      var resp=UrlFetchApp.fetch(url,options).getContentText();


Условная функция doGet(e).
function doGet(e) {

  var Name = e.parameter.name;
  return ContentService.createTextOutput(Name);
  }


Вот что выдает .getContentText();
<!DOCTYPE html><html><head><link rel="shortcut icon" href="//ssl.gstatic.com/docs/script/images/favicon.ico"><title>Error</title><style type="text/css">body {background-color: #fff; margin: 0; padding: 0;}.errorMessage {font-family: Arial,sans-serif; font-size: 12pt; font-weight: bold; line-height: 150%; padding-top: 25px;}</style></head><body style="margin:20px"><div><img alt="Google Apps Script" src="//ssl.gstatic.com/docs/script/images/logo.png"></div><div style="text-align:center;font-family:monospace;margin:50px auto 0;max-width:600px">Script function not found: doPost</div></body></html>


Вот что выдает UrlFetchApp.getRequest(url, options)
{headers={X-Forwarded-For=187.121.239.122}, method=post, payload=name=name, followRedirects=true, validateHttpsCertificates=true, useIntranet=false, contentType=application/x-www-form-urlencoded, url=https://script.google.com/macros/s/AKfycbzSESoSAmLBYdA8MdiqSdcVJNCVB3dhg3vFSrQBNM7ydetz0So/exec}
  • Вопрос задан
  • 1163 просмотра
Пригласить эксперта
Ответы на вопрос 1
oshliaer
@oshliaer Куратор тега Google Apps Script
Google Products Expert
Вам же написали:
Script function not found: doPost


Вероятно, это помтому, что вы отправляете не GET, а POST запрос. Как минимум GET не имеет никакого body и payload ему ни к чему.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы