问题总结:
更改 Trello 卡片封面颜色时遇到问题。
StackOverflow 中的类似问题
几乎相同的问题这里。我已经尝试过该帖子中提供的答案,但没有成功。症状类似于以下内容。
正在使用的技术
我尝试过的:
我正在使用 Trello API 的更新卡片服务。这项服务的形成是这样的:
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 ----------------------------------------------------+
在这两种情况下,我都从 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"}}
起作用。
您必须传递带有 cover 属性的请求正文,trello api 不适用于 cover 属性或嵌套对象的 url 参数。
示例:
fetch(`https://api.trello.com/1/cards/${id}?key=${apiKey}&token=${token}`, {
method: 'PUT',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify(cardRequest),
})