2017-10-09 3 views
0

우리는 자체 호스팅 ActiveCollab v5.13.60을 사용하고 있으며 특정 날짜에 완료된 프로젝트 및 작업 목록을 생성하려고합니다. 나는 또한 프로젝트/작업 이름을 쉽게 가져올 수 있도록 관련 객체를 제공하기 때문에 /whats-new/daily/ API 요청을 수행하고 있습니다.모든 항목/whats-new API 호출을 반환 중

50 개 이상의 항목이있는 경우 요청이 마지막 50 개 항목 만 반환한다고 가정하면? page = X 매개 변수를 사용하여 추가 요청을 할 수 있습니다.

이 요청은 페이지가 지정되지 않은 목록을 반환 할 수있는 방법이 있습니까, 아니면 모두 일 동안 항목이 있습니까?

감사합니다.

답변

1

반환되지 않을 때까지 다음 페이지를 요청한 다음 모든 결과를 결합해야합니다. 우리의 사내 응용 프로그램 내

, 우리는 (PHP)에 다음과 같은 기능 그것은 다음 호출 할 수 있습니다

/** 
* Get pages of data with passed url 
* @param [string] $url The api endpoint 
* @return [array] All your data 
*/ 
function getPagedData($url) { 
    // Get all the projects in active collab 
    $page = 1; 
    $paged_records = array(); 
    $paged_records_results = $this->activeCollabClient->get($url . '?page=' . $page)->getJson(); 
    $paged_records = array_merge($paged_records, $paged_records_results); 

    // Loop through pages 
    while ($paged_records_results = $this->activeCollabClient->get($url . '?page=' . ++$page)->getJson()) { 
     $paged_records = array_merge($paged_records, $paged_records_results); 
    } 
    return $paged_records; 
} 

, URL을 전달있다. 귀하의 경우에는 다음과 같이 사용할 수 있습니다 :

getPagedData('whats-news/daily'); 

그러면 모든 정보가 포함 된 배열이 반환됩니다.