2015-06-16 43 views
0

我試圖讓Podio API(php-library)返回具有一定範圍的截止日期的所有任務。 PodioTask::get_all()工作正常,它返回全部任務(限於100)。當然,這不是非常有用,所以我添加屬性如記錄:Podio api任務due_date格式

$tasks = PodioTask::get_all(array(
    'org' => [my_organization_id], 
    'completed' => 'false', 
    'limit' => 100 
) 
); 

直到這裏行爲仍然如預期。當我試圖添加due_date -attribute我得到一個錯誤信息說Uncaught PodioBadRequestError: "The values are not in the right format" Request URL: http://api.podio.com/task/?org=[my_organization_id]&completed=false&due_date=&limit=100

我嘗試做這樣的,這對於在波迪奧項過濾器工作正常:

$tasks = PodioTask::get_all(array(
    'org' => [my_organization_id], 
    'completed' => 'false', 
    'due_date' => array(
     'from' => '2d', 
     'to' => '90d' 
     ), 
    'limit' => 100 
) 
); 

我試圖取代YYYY-MM-DD格式的絕對日期的起始日期和日期(作爲字符串,但也嘗試了DateTime對象),但我得到相同的錯誤。我嘗試刪除數組,並設置一個單一的日期(作爲一個字符串和DateTime對象),並沒有一個工作。我不斷收到消息,說明這些值的格式不正確。該文檔告訴我due_date -parameter是「過期和過期的任務,有效的選項請參閱過濾器區域下的日期過濾。」如果我去那裏,我最終的文件過濾項目,我在這裏做的事情完全相同的項目,我可以按日期過濾。 (https://developers.podio.com/doc/tasks/get-tasks-77949

它看起來像php庫預期的字符串,但API需要'從'和'到'屬性。

任何人有任何想法?

+0

您可以從錯誤中看到值due_date =&爲空。看來'PodioTask :: get_all'不會將嵌套數組作爲參數。所以,試試從「:2d」到「:90d''」(或帶/不帶雙引號的變體)設置''due_date'=>'',然後看它是否有效。 – VolenD

+0

@ user3584460謝謝,不幸的是,這也不起作用。當我嘗試你的建議時,'due_date =&'值不再是空的,但我仍然得到錯誤告訴我這種格式是錯誤的。 – Kevin

回答

1

試試這個

 $attributes = array(
      'org' => [my_organization_id], 
      'completed' => 'false', 
      'limit' => 100, 
      'due_date'=> $fromDate.'-'.$toDate 
     ); 
$tasks = PodioTask::get_all($attributes); 

其中$fromDate$toDate是datetime對象。