2014-09-25 96 views
0

隨着asana api我只想獲得在過去5分鐘內完成的任務列表。對於那下面的PHP代碼。我收到了甚至沒有關閉的任務列表。Asana獲取任務api不返回最近關閉的任務

//unix time before 5 minutes 
$lastHour = time() - 5 * 60; 

//convert to tz format 
$last_run = date("Y-m-d\TH:i:s.000\Z", $lastHour); 


$args = array('completed_since' => $last_run); 
$tasks = $asana->getProjectTasks($project->id, $args); 

echo "<pre>"; print_r($tasks); 
$tasksJson = json_decode($tasks); 

查詢有什麼問題嗎?

回答

0

從文檔:

僅返回或者是不完整的,或者由於給定的時間完成的任務。

所以completed_since總是返回所有不完整的任務。最初,這是爲了模擬應用程序中的行爲:您通常在一個視圖中看到「最近完成的和所有不完整的」任務。應用程序不再執行此操作,但API仍遵循此約定,因爲我們無法更改它並破壞現有客戶端。 (此外,這用於使用?completed_since=now獲取所有不完整的任務)。

如果您只有想要完成的任務,您可以提出您當前正在使用的請求,然後篩選出在PHP中爲completed爲真的請求。這並不理想,但我希望能夠解決問題! (順便說一下,我們正在爲API提供一個新的,更直觀的富有表現力的過濾系統,但它仍處於設計階段的早期階段,不會出貨,所以我不會屏住呼吸,但我們知道這種情況需要修復;-))