python - 如何更新 Google 应用程序脚本中的 mailgun 路由

标签 python google-apps-script mailgun

我有一个 python 脚本,用于更新 mailgun 路由,将多个操作参数传递到现有路由。这工作正常,但我在 Google 应用程序脚本中重新创建它时遇到问题。当我传递一个操作参数时,一切正常,但当我尝试传递多个操作参数时,我会收到错误。

这也是用于路由更新的工作 curl (api key 和路由 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}

这是我目前的谷歌应用程序脚本中的内容。如果我将“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脚本中却不行。

最佳答案

弄清楚了:

      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)
        }
      };

关于python - 如何更新 Google 应用程序脚本中的 mailgun 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58459274/

相关文章:

python 作为 "batch"脚本(即从 python 运行命令)

javascript - HTTP POST 和 Google Apps 脚本文件上传

javascript - SpreadSheetApp 使用 JS 将值附加到特定单元格

node.js - 来自流的邮件枪附件。如何应用文件名

python - 正则表达式:仅在花括号内为单词添加引号

python - 确定目录是否可写

python - 存储电子邮件的标准

Node.js mailgun 内联/嵌入图像

Python模拟postgres数据库

debugging - 如何测试 GAS 中的触发功能?