2015-09-29 114 views
0

我正在使用PHP类(https://github.com/ajimix/asana-api-php-class)通过其API获取asana任务。如何通过API获取由用户创建的Asana任务?

我想获取由特定用户创建的任务(因为我的受让人获得更改,因此我在此不讨论受让人)。

目前,我的做法是:让所有的任务,通过循环得到每个任务的详细信息,并得到其创建者的名字,然后通过代码过滤器,但该走的时候地狱很多得到完整的,因为我有数千个任务。

你可以建议任何简单的方法吗?

+0

添加您的代码和基准(”地狱很多时间“是模糊的)。另外,在表上添加相关的数据库查询和信息(尤其是表中的索引)。最佳的做法也是增加查询时间。 – Risadinha

+0

这是直截了当的PHP代码,没有使用数据库。我有一个项目创建在asana上,从中获取所有任务,并循环遍历每个任务的细节,通过一些标签进行筛选并检查创建者。在循环中 - 1)获取具有特定任务的任务。 2)检查创建者名称是否与要求相同。 3)将这些ID存储在一个数组中。对于板凳标记:我有5800个任务需要5小时26分54秒完成上述过程。 – Zeeshan

+0

对不起输入错误....在循环 - 1)得到任务有一定的标签(不是任务) – Zeeshan

回答

0

您是否考虑过使用官方asana PHP client

不幸的是,你不能过滤任务创建者的任务查询。

建议的一些通用件以提高查询效率:

  • 分页 - 通过使用分页每个请求将返回得更快。
  • 线程 - 使用一个单独的线程来发出请求嘉尚API和处理返回的数据

我已经注意到这一额外查询参数的请求/tasks

+0

感谢安德鲁评论。我现在正在使用分页。实际上,我的目标是在特定月份获取特定用户创建的所有任务。所以我只是通过月份和用户名来获取这些任务。目前与分页(100任务/每页)正在获取任务。假设即将到来的任务列表按创建日期排序。所以我在这个特定的月份每页获得(82,20,3,0,0,0)任务。我限制提取查询,如果零是两个以上,假设在指定月份的下一页没有任何任务..希望这样的情况下,我做对了。 – Zeeshan

+0

@Zeeshan是的,你可以假设当页面包含0个条目时,没有更多的页面要阅读。 –

+0

谢谢@Andrew :) – Zeeshan