【问题标题】:How can I get all Actions for a Board using Trello's Rest API?如何使用 Trello 的 Rest API 获取板的所有操作?
【发布时间】:2019-01-17 12:17:09
【问题描述】:

我想获取看板的所有操作,但 Trello 将结果限制为 1000。我了解处理此问题的正确方法是分页。我已经尝试将 beforepage 作为关键字:

基本调用:

https://api.trello.com/1/board/[boardID]/
         ?key=[key]&token=[token]
         &actions=commentCard&actions_limit=1000

替代方案:

Before:

https://api.trello.com/1/board/[boardID]/
         ?key=[key]&token=[token]
         &actions=commentCard&actions_limit=1000&
         before=[oldest_returned_action's_date]

Page:

https://api.trello.com/1/board/[boardID]/
         ?key=[key]&token=[token]
         &actions=commentCard&actions_limit=1000&
         page=[page_number]

结果永远不会改变 --- 我总是返回 [limit] 的操作数,无论调用如何,它们总是相同的。我检查了返回的日期,他们当然不尊重before 参数。我什至尝试降低限制以确保我不会试图返回超过我拥有的东西。问题依然存在。

如何正确获取 Trello 看板的所有操作?

【问题讨论】:

    标签: rest api trello pagination


    【解决方案1】:

    动作是按时间倒序排列的(从最新到最旧),因此要翻阅板上的动作,您可以使用以下内容:

    curl "https://api.trello.com/1/boards/${BOARD_ID}/actions/?key=${TRELLO_API_KEY}&token=${TRELLO_TOKEN}&limit=1000"
    

    然后,从上面返回的数组的最后一个元素中,选择dateid 并将其作为before 参数在下一次调用中传递,例如:

    curl "https://api.trello.com/1/boards/${BOARD_ID}/actions/?key=${TRELLO_API_KEY}&token=${TRELLO_TOKEN}&limit=1000&before=${DATE_OR_ID_OF_LAST_ACTION}"
    

    然后重复,将最后一个操作的iddate 作为后续before 参数传入。

    参考资料:

    【讨论】:

    • 谢谢!我以前尝试过这种网址,但它对我不起作用,但这次你的!你知道为什么吗?我在我的问题中发布的内容不应该是等效的吗?
    • 它看起来不像我的问题中的&actions=commentCard,现在需要&filter=commentCard 来获取卡片类型。很高兴知道!
    • 这个限制必须是limit=1000,而不是actions_limit=1000
    猜你喜欢
    • 2015-08-31
    • 2015-12-17
    • 2018-05-03
    • 2019-06-23
    • 1970-01-01
    • 2016-02-27
    • 2017-07-19
    • 1970-01-01
    • 2018-10-27
    相关资源
    最近更新 更多