如何在 Trello API 中设置卡片封面的颜色?

问题描述

问题总结
更改 Trello 卡片封面颜色时遇到问题。

StackOverflow 中的类似问题
几乎相同的问题here。我已经尝试过该帖子提供的答案但没有成功。症状类似于以下内容

使用中的技术


我尝试过的:
我正在使用 Trello API 的 Update A Card 服务。这个服务是这样形成的:

https://api.trello.com/1/card/24CHARCARDNO?key=32CHARKEY&token=64CHARTOKEN&cover={"color:","green"}
---------------------- - ---- ------------     ---------       ----------- ------------------------
     URL END POINT     |  |       |                |                 |                 |
                       |  |       |                |                 |                 |
API VERSION------------+  |       |                |                 |                 |
                          |       |                |                 |                 |
API-----------------------+       |                |                 |                 |
                                  |                |                 |                 |
WHICH CARD -----------------------+                |                 |                 |
                                                   |                 |                 |
APP KEY -------------------------------------------+                 |                 |
                                                                     |                 |
USER AUTHENTICATION TOKEN -------------------------------------------+                 |
                                                                                       |
PAYLOAD TO CHANGE CARD COVER COLOR ----------------------------------------------------+
  • 我曾尝试使用 Postman 将其作为上面的 PUT + url 字符串发送。
  • 我尝试使用 URLLIB3 库和 .request 服务运行我的 Python 代码

在这两种情况下,我都从 Trello 得到了看起来不错的 JSON,但卡片实际上并没有获得指定的颜色。有趣的是,返回 JSON 显示卡上的属性没有改变。在下面的代码段中,我发送了“粉红色”作为颜色,但返回的 JSON 显示“绿色”。 Trello 是色盲吗? ;-)

"cover": {
    "idAttachment": null,"color": "green","idUploadedBackground": null,"size": "full","brightness": "light"
},

您如何提供帮助

我一直在寻找将 Trello API 用于此属性的示例,但我没有看到任何工作,文档是我拥有的唯一真实来源。谁能给我举个例子,或者指出我遗漏的显而易见的事情?

谢谢,

保罗

解决方法

所以问题是颜色必须在请求体中传递。我在上面尝试的格式对于 GET 是正确的,但对于 PUT 则不正确。所以这里是结果语法:

curl -H 'Content-Type: application/json' -X PUT -d '{"cover" : {"color":"pink"}}' 'https://api.trello.com/1/cards/24CHARCARDNUMBER?token=64CHARTOKEN&key=32CHARKEY'

特别注意 ' 和 " 所属的位置。

请注意,虽然 JSON 可能正式接受单元素数组的方括号,但 Trello API 不喜欢它:

{"cover" : ["color":"pink"] } 不起作用,但 {"cover" : {"color":"pink"}} 起作用。