【发布时间】:2014-12-20 13:10:26
【问题描述】:
使用 Trello API: - 我已经能够获得分配给 Trello 用户的所有卡片 - 我已经能够获得分配给组织的所有董事会
但我无法获得任何返回组织或用户中所有列表的 API 调用。 有没有允许这样做的功能?
提前致谢
【问题讨论】:
使用 Trello API: - 我已经能够获得分配给 Trello 用户的所有卡片 - 我已经能够获得分配给组织的所有董事会
但我无法获得任何返回组织或用户中所有列表的 API 调用。 有没有允许这样做的功能?
提前致谢
【问题讨论】:
我不相信Trello API 中有一种方法可以执行此操作,因此您必须获取用户或组织的板列表:
GET /1/members/[idMember or username]/boards
返回(截断只显示我们关心的部分):
[{
"id": "4eea4ffc91e31d1746000046",
"name": "Example Board",
"desc": "This board is used in the API examples",
...
"shortUrl": "https://trello.com/b/OXiBYZoj"
}, {
"id": "4ee7e707e582acdec800051a",
"name": "Public Board",
"desc": "A board that everyone can see",
...
"shortUrl": "https://trello.com/b/IwLRbh3F"
}]
然后获取每个板的列表:
GET /1/boards/[board_id]/lists
返回(截断只显示列表 id 和名称:
[{
"id": "4eea4ffc91e31d174600004a",
"name": "To Do Soon",
...
}, {
"id": "4eea4ffc91e31d174600004b",
"name": "Doing",
...
}, {
"id": "4eea4ffc91e31d174600004c",
"name": "Done",
...
}]
并为每个板查看此响应,以构建用户或组织拥有的所有列表的列表。
【讨论】:
这是一个快速而肮脏的 bash 脚本,它使用 curl 和 jq 来获取任何给定的 Board 的 ID 或 List 的 ID:
key="<your-key>"
token="<your-token>"
trelloUsername="<you-trello-username>"
boardName="<board-name>"
listName="<list-name>"
boardID=$(curl -s --request GET --url "https://api.trello.com/1/members/$trelloUsername/boards?key=$key&token=$token" --header 'Accept: application/json' | jq -r ".[] | select(.name == \"$boardName\").id")
echo "boardID: ${boardID}"
listID=$(curl -s --request GET --url "https://api.trello.com/1/boards/$boardID/lists?key=$key&token=$token" | jq -r ".[] | select(.name == \"$listName\").id")
echo "listID: ${listID}"
示例输出:
boardID: 5eab513c719d2d681bafce0e
listID: 5eab519e66dd4272gb720e22
【讨论】:
让你所有的板子都使用
Trello.get("/members/me/boards")
使用 client.js
为我工作【讨论】:
https://api.trello.com/1/members/me/boards
对于希望以最简单的方式访问列表 ID 的用户:
使用“.json”破解!
在您的看板 URL 末尾添加“.json”以显示该板的 API 查询的相同输出,在您的浏览器中! (无需其他工具,无需麻烦处理身份验证)。
例如,如果您的板子的 URL 是:
https://trello.com/b/EI6aGV1d/blahblah
将浏览器指向
https://trello.com/b/EI6aGV1d/blahblah.json
你会得到类似的东西
{
"id": "5a69a1935e732f529ef0ad8e",
"name": "blahblah",
"desc": "",
"descData": null,
"closed": false,
[...]
"cards": [
{
"id": "5b2776eba95348dd45f6b745",
"idMemberCreator": "58ef2cd98728a111e6fbd8d3",
"data": {
"list": {
"name": "Bla blah blah blah blah",
"id": "5a69a1b82f62a7af027d0378"
},
"board": {
[...]
您可以在其中搜索列表名称,以便在其旁边轻松找到其 ID。
提示:使用 json 查看器扩展来让您的浏览器显示漂亮的 json。我个人使用https://github.com/tulios/json-viewer/tree/0.18.0,但我想那里有很多不错的选择。
【讨论】:
fields查询参数(...json?fields=...)过滤掉输出中不必要的字段
你可以通过调用来做到这一点
GET /1/organizations/[idOrg]/boards?lists=all
看看论据。
有几个过滤器和字段。您可以自定义它。
【讨论】: