将utf-8字符集添加到POST请求时400 Bad Request

时间:2013-05-02 11:59:25

标签: curl asana

我已经构建了一个基于Guzzle的API客户端,因为版本3.4.2在Content-Type标头中添加了一个utf-8字符集。使用此标头,Asana API返回400 Bad Request错误,而没有charset的东西工作正常。

这不适用于POST和PUT请求:

  

Content-Type:application / x-www-form-urlencoded;字符集= UTF-8

这有效:

  

内容类型:application / x-www-form-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 Bad Request:

  

{“errors”:[{“message”:“请求数据必须是JSON对象,而不是null”}}

这个成功了:

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中的错误还是预期的行为?

1 个答案:

答案 0 :(得分:3)

(我在Asana工作。)我们已经证实这是一个错误。修复应该在第二天左右。谢谢你的举报!