'Creating a new card using the Trello API
I'm trying to add a new card to a Trello list but am a bit stuck
I've tried POSTing in two approaches:
https://api.trello.com/1/lists/mylistid/cards?key=mykey&token=myToken&name=myNamewhich results in a 404 but is mentioned here as a suggested but untested response and seems to follow the Trello documentation here.https://api.trello.com/1/cards?key=myKey&token=myToken&name=myNamebased on the documentation here.
Neither works for me. Is the documentation correct or what am I doing wrong?
UPDATE (hoisted from comments)
I had the idList in the JSON which I was passing in but the content type was wrong. I had text/json, it should have been application/json. Option 2 works now.
Solution 1:[1]
var newCard = {
name: CARD_TITLE,
desc: CARD_DESC,
pos: "top",
idList: TRELLO_BOARD_LIST_ID
};
Trello.post('/cards/', newCard, success, error);
var success = function(successMsg) { /* your actions on success case */}
var error= function(errorMsg) { /* your actions on error case */}
client.js automatically adds app_key + token to url so you dont need to bother about that.
thats is working for me when using trello client.js . short guide: https://developers.trello.com/get-started/start-building#connect
Im pretty sure the concept is the same with other languages...
Solution 2:[2]
Just in case anyone needs Kotlin example (JDK 11 is required) is below. It requires ObjectMapper (can be mavened from com.fasterxml.jackson.module:jackson-module-kotlin:2.12.1 )
val token = //token
val appKey = //key
val listID = //list ID
val urlCards = "https://api.trello.com/1/cards"
val newCardName = //a name for a new card
val description = //a card description
val queryString = mapOf(
"key" to appKey,
"token" to token,
"idList" to listID,
"name" to newCardName,
"pos" to "top",
"desc" to description
)
val objectMapper = ObjectMapper()
val requestBody: String = objectMapper.writeValueAsString(queryString)
val client = HttpClient.newBuilder().build();
val request = HttpRequest.newBuilder()
.uri(URI.create(urlCards))
.POST(HttpRequest.BodyPublishers.ofString(requestBody))
.header("content-type","application/json")
.build()
val response = client.send(request, HttpResponse.BodyHandlers.ofString())
println(response.body())
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | fmw42 |
| Solution 2 | Anton |
