问题描述
问题总结:
更改 Trello 卡片封面颜色时遇到问题。
StackOverflow 中的类似问题
几乎相同的问题here。我已经尝试过该帖子提供的答案但没有成功。症状类似于以下内容。
使用中的技术
- Trello API - 用于 Trello 服务的 RESTful API
- URLLIB3
我尝试过的:
我正在使用 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"}}
起作用。