2013-05-02 35 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