Как обновить маршрут почтового пистолета в скриптах приложения Google - PullRequest
1 голос
/ 19 октября 2019

У меня есть скрипт Python, который обновляет маршруты почтовых пушек, передавая параметры нескольких действий существующему маршруту. Это работает нормально, но у меня возникают проблемы при воссоздании его в скрипте Google App. Все работает, когда я передаю один параметр действия, но я получаю ошибки при попытке передать более одного.

Здесь также есть рабочий локон для обновления маршрута (ключ API и идентификатор маршрута отредактированы):

curl -X PUT -H 'Accept: */*' -H 'Accept-Encoding: gzip, deflate' -H 'Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' -H 'Connection: keep-alive'-H 'Content-Length: 63' -H 'Content-Type: application/x-www-form-urlencoded' -H 'User-Agent: python-requests/2.22.0' -d 'action=forward%28%22testing%40gmail.com%22%29&action=stop%28%29' https://api.mailgun.net/v3/routes/{routeID}

Вот что у меня есть в моем скрипте приложения Google в настоящее время. Это работает, если я заменяю переменную "multi" на "address" или "stp".

      var address = "forward" + "(" + '"' + fwd + '"' + ")";
      var stp = "stop()";
      var multi = [address, stp]
      var params = {
        action: multi,
      }
      var base = "https://api.mailgun.net/v3/routes/";  
      var url = base + routeID

      var options = {
        "method": "put",
        "payload": params,
        "headers": {
          Authorization: 'Basic ' + Utilities.base64Encode("api:" + MAILGUN_KEY)
        }
      };

Я не уверен, почему это прекрасно работает в Python и curl, но не в скрипте Google.

1 Ответ

2 голосов
/ 19 октября 2019

Разобрался:

      var actions = "action=forward" + "(" + '"' + addr + '"' + ")" + "&action=stop()";
      var base = "https://api.mailgun.net/v3/routes/";  
      var url = base + routeID

      var options = {
        "method": "put",
        "payload": actions,
        "Content-Type": "application/x-www-form-urlencoded",
        "headers": {
          Authorization: 'Basic ' + Utilities.base64Encode("api:" + MAILGUN_KEY)
        }
      };
...