【问题标题】:Contentful.com Webhook CreationContentful.com Webhook 创建
【发布时间】:2015-07-28 23:23:19
【问题描述】:

我正在尝试通过他们的 Content Management API 在 Contentful.com 上创建一个 Webhook。命令如下(注意我已经调整了各自的 ID 以保证安全):

curl -X PUT -H 'Content-Type: application/vnd.contentful.management.v1+json' -H 'Authorization: Bearer c8c3ef46d5dbfe3c841a3b4bff1ee89449669ffd407d1a62c7a0ecbad9c3120' -H 'Content-Length: 33' 'https://api.contentful.com/spaces/du8mcuj2d5la/webhook_definitions/1CtkR6S5oUqWywgEO2i0xx' -d '{"url":"https://xxx.parseapp.com"}'

无论我在最终对象中使用什么 URL(https://www.example.com 除外),我都会得到以下响应:

{
  "sys":{
    "type":"Error",
    "id":"InvalidJsonRequestBody"
  },
  "requestId":"85f-1338857905",
  "message":"The body you sent is not valid JSON."
}

我已使用 Paw (http://luckymarmot.com/paw) 验证端点传递接受入站 POST 请求并(返回 200 响应代码)。只是为了强调如果我将https://xxx.parseapp.com 切换到https://www.example.com 它会创建webhook。其他任何它似乎都在抱怨的东西。

【问题讨论】:

    标签: json curl webhooks contentful


    【解决方案1】:

    看来问题很简单: 负载长度与Content-Length 标头不匹配。

    {"url":"https://xxx.parseapp.com"} 是 34 字节,但您已将标头明确设置为 -H 'Content-Length: 33'。 (33 仅适用于 example.com 示例。)

    如果您将长度调整为-H 'Content-Length: 34',它应该可以正常工作。 您也可以在尝试使用 curl 时忽略此标头,因为它会自动将其设置为正确的值(使用 -v 选项检查)。

    通常,大多数 HTTP 客户端/库在执行 POST/PUT 请求时应自行设置 Content-Length 标头。

    【讨论】:

    • 太棒了,谢谢...事后看来总是很明显:)
    猜你喜欢
    • 2017-02-17
    • 2020-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 2021-09-24
    • 2021-01-01
    相关资源
    最近更新 更多