2013-05-02 100 views
1

我已经构建了一个基于Guzzle的API客户端,从版本3.4.2开始,将utf-8字符集添加到Content-Type标头。 Asana API使用这个头部返回一个400错误请求错误,而没有字符集的事情工作正常。将utf-8字符集添加到POST请求时的400错误请求

这并不在岗位工作和PUT请求:

内容类型:应用程序/ x-WWW的形式,进行了urlencoded;字符集= UTF-8

这工作:

内容类型:应用/ X WWW的窗体-urlencoded;

使用curl作为最简单的例子:

这一次失败:

curl -u {apikey}: https://app.asana.com/api/1.0/projects -d "name=Test" -d "notes=Test." -d "workspace={workspace-id}" --header "Content-Type: application/x-www-form-urlencoded; charset=utf-8" 

返回与此输出400错误的请求:

{ “错误”:[{ “消息”:“请求数据必须是JSON对象,而不是空值”}]}

这一个成功:

curl -u {apikey}: https://app.asana.com/api/1.0/projects -d "name=Test" -d "notes=Test." -d "workspace={workspace-id}" --header "Content-Type: application/x-www-form-urlencoded;" 

这返回含有发送数据创建的201。

对于其他POST和PUT请求也会发生这种情况。 这是Asana API或预期行为中的错误吗?

+0

(我在Asana工作。)这可能是我们系统中的一个错误。我们会调查并回报。 – 2013-05-02 14:56:55

回答

3

(我在Asana工作)。我们验证了这是一个错误。解决方法应该在第二天左右开始。感谢您的报告!

+0

非常好,现在有效。谢谢! – 2013-05-05 09:43:58