【问题标题】:HTTP PUT Request not allowed不允许 HTTP PUT 请求
【发布时间】:2016-06-23 12:33:34
【问题描述】:

我正在尝试使用 Google Apps 脚本 HTTP PUT 请求将一些数据添加到数据库中。

这是我的数据库的 JSON 格式:

我需要做的是将另一个名为“New Rule”的对象7: Object 添加到来自“Adobe Analytics”的rules 数组中。

我有一些代码,但它返回以下错误:

错误:https://example.com 的请求失败,返回代码 405。截断的服务器响应:不允许使用 HTTP 方法,支持的方法:GET、POST(使用 muteHttpExceptions 选项检查完整响应)

  var restHeaders = {    
    'Key': "...",
    'Authorization':'Bearer ...',
  }
  var request = {
    "name": "Adobe Analytics",
    "id": 3,
    "rules":[
      {
        "name": "New Rule",
        "tags": [
          {
            "tagId": 1,
            "condition": false,
          },
          {
            "tagId": 1,
            "condition": false,
          }
        ],
        "ruleSetId": 3,
      }
    ]
  }
  var opt = {
    'method': 'put',
    'headers': restHeaders,
    'contentType' : 'application/json',
    'payload': JSON.stringify(request)
  }

【问题讨论】:

    标签: javascript json google-apps-script


    【解决方案1】:

    你得到的错误说: “支持的方法:GET、POST”而你的参数对象

    var opt = {
        'method': 'put',
    

    正在使用“PUT”作为 HTTP 方法。 出现错误后,服务器未配置为 PUT 请求,而仅用于 GET 和 POST。

    【讨论】:

    • 还有其他方法可以让我使用PUT 请求吗?
    • 如果服务器配置为只允许 GET 和 POST 请求/方法,那么您就无法使用 POST 来对付他。您要么必须将服务器配置为接受 PUT 方法/请求,要么在您身边使用 GET/POST。如果您可以灵活地使用 POST 或 GET ,那么我看不出有什么理由不应该这样做。服务器将接受您的请求,您的工作将完成。
    • @PavelValeriu 你为什么认为 PUT 会被接受? API 文档有什么建议?
    • @Jonathon 对我迟到的回复感到抱歉...在谷歌应用程序脚本文档中它说支持 PUT 方法:developers.google.com/apps-script/reference/url-fetch/…。我需要使用这个方法来更新 JSON 对象
    • 无论Apps Script如何,返回405的服务器都支持PUT
    猜你喜欢
    • 2013-11-04
    • 2015-06-18
    • 1970-01-01
    • 2017-01-02
    • 1970-01-01
    • 2019-08-09
    • 2012-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多