2012-08-22 61 views
4

我已經嘗試通過Chello(Trello API的.NET包裝)和通過Fiddler執行此操作。在這兩種情況下,我都會收到400迴應,「名稱無效」。通過Trello創建卡失敗,出現400響應

這裏是請求和響應數據。請注意我出於安全原因更改了密鑰,令牌和idList。此外,令牌具有讀/寫權限。

POST https://api.trello.com/1/cards?key=<myKey>&token=<myToken> HTTP/1.1 
User-Agent: Fiddler 
Host: api.trello.com 
Content-Length: 115 

{ 
    name: "My new card name", 
    desc: "My new card description", 
    idList: "<myIdList>" 
} 

HTTP/1.1 400 Bad Request 
X-Powered-By: Express 
Content-Type: text/plain; charset=utf-8 
Content-Length: 23 
Cache-Control: max-age=0, must-revalidate 
Expires: Thu, 01 Jan 1970 00:00:00 
Access-Control-Allow-Origin: * 
Access-Control-Allow-Methods: GET, PUT, POST, DELETE 
Connection: keep-alive 

invalid value for name 

這個問題的任何幫助,將不勝感激。

回答

6

儘管使用POST,但Trello API實際上期望值位於查詢字符串中,而不是POST主體中。你的榜樣應該沿的線條更:

https://api.trello.com/1/cards?key=<myKey>&token=<myToken>&name=My+new+card+name&desc=My+new+card+description&idList=<myIdList> 

使用您發佈的代碼,你結束了一個「爲名稱值無效」,因爲這是它會檢查並沒有發現第一個參數。

+1

這不是問題(儘管它可以解決問題);參數可以放在查詢字符串或正文中,但它們不應該是JSON編碼的。 – Brett

3

它看起來好像是發送一個JSON對象作爲帖子的內容;是對的嗎?如果你將它編碼爲帖子內容中簡單的鍵值對,那就應該有效。道歉,如果我誤解你的貼。

+0

這是正確的。 Trello要麼在查詢字符串中要麼在後有效載荷中預期鍵值對。 –

+0

謝謝你。一直拉着我的頭髮! 在API文檔中無法看到此處。也許我錯過了它。 –

相關問題