【问题标题】:Trello API: getting boards / lists / cards informationTrello API:获取看板/列表/卡片信息
【发布时间】:2014-12-20 13:10:26
【问题描述】:

使用 Trello API: - 我已经能够获得分配给 Trello 用户的所有卡片 - 我已经能够获得分配给组织的所有董事会

但我无法获得任何返回组织或用户中所有列表的 API 调用。 有没有允许这样做的功能?

提前致谢

【问题讨论】:

    标签: list api trello


    【解决方案1】:

    我不相信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",
        ...
    }]
    

    并为每个板查看此响应,以构建用户或组织拥有的所有列表的列表。

    【讨论】:

    • 截至目前,有一个电话要求获取 trello 组织中所有板的列表。 /organization/ORG_ID/boards?fields=name 您仍然可以传递每个 ID 以获取板列表
    【解决方案2】:

    这是一个快速而肮脏的 bash 脚本,它使用 curljq 来获取任何给定的 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
    

    【讨论】:

      【解决方案3】:

      让你所有的板子都使用

      Trello.get("/members/me/boards")
      

      使用 client.js

      为我工作

      【讨论】:

      • 这甚至适用于基本的 Trello REST API:https://api.trello.com/1/members/me/boards
      【解决方案4】:

      对于希望以最简单的方式访问列表 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=...)过滤掉输出中不必要的字段
      【解决方案5】:

      你可以通过调用来做到这一点

      GET /1/organizations/[idOrg]/boards?lists=all

      在这里:https://developers.trello.com/advanced-reference/organization#get-1-organizations-idorg-or-name-boards

      看看论据。

      有几个过滤器和字段。您可以自定义它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-23
        • 2012-05-01
        • 1970-01-01
        • 2017-02-01
        • 2021-04-05
        • 2017-11-02
        • 2017-10-06
        • 2016-12-19
        相关资源
        最近更新 更多