如何在Google App脚本中更新邮枪路线

问题描述 投票:1回答:1

我有一个python脚本,可将通过多个操作参数传递给现有路由的mailgun路由更新。效果很好,但是我在使用Google App脚本重新创建它时遇到了麻烦。当我传递一个动作参数时,一切正常,但是在尝试传递多个参数时却出错。

[这也是路由更新的有效方法(api键和路由已编辑ID):

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脚本中却不行。

python google-apps-script mailgun
1个回答
1
投票
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) } };
© www.soinside.com 2019 - 2024. All rights reserved.