1

我正在尝试使用此处描述的 REST API 在 datadog 中创建仪表板:http: //docs.datadoghq.com/api/#timeboards

但是,无论我做什么,我都会不断收到 400 响应,并显示一条消息“无效的 JSON 输入”。我已将我的 json 简化为几个必填字段,并为空的“图形”部分,但这仍然不起作用。

有谁知道这里可能出了什么问题?

curl -i -X POST 'https://app.datadoghq.com/api/v1/dash?api_key=<key>&application_key=<the_key>' -d '{"dash":{"title":"Foo","description":"bar","graphs":[]}}'

回复

HTTP/1.1 400 Bad Request
Cache-Control: no-cache
Content-Type: application/json
Date: Tue, 31 Jan 2017 18:27:29 GMT
DD-POOL: dogweb_sameorig
Pragma: no-cache
Strict-Transport-Security: max-age=15724800;
X-Content-Type-Options: nosniff
X-DD-VERSION: 34.34544
X-Frame-Options: SAMEORIGIN
Content-Length: 34
Connection: keep-alive

{"errors": ["Invalid JSON input"]}
4

1 回答 1

1

您需要Content-Type作为请求的标头传递,如文档中所示

$ curl -X POST -H "Content-type: application/json" 'https://app.datadoghq.com/api/v1/dash?api_key=<key>&application_key=<key>' -d '{"dash":{"title":"Foo","description":"bar","graphs":[]}}'

回复:

{"errors": ["The parameter 'title' is required"]}

dash您的数据也没有根据文档进行格式化(对于初学者来说,顶层应该没有字段)。

于 2017-01-31T22:39:07.337 回答