2017-09-28 6 views
0

Activecollab V5 (자체 호스팅)를 사용하며 API를 통해 데이터를 가져오고 싶습니다. 나는 문제는 내가 그것을 사용하는 방법을 알고 해달라고 여기ActiveCollab V5 API 사용 방법

API Documentation

API 설명서를 읽었습니다. 위의 문서에서 토큰을 생성하는 방법과 API 끝점에 요청하는 방법을 알아야합니다. 누군가가 도와 주실 수 있습니까? . 감사 .

답변

0

전적으로 API에 액세스하는 데 사용할 언어에 따라 다릅니다.

우리는 PHP를 사용하며 AC가 제공 한 Feather SDK을 사용하여 무겁게 작업합니다. readme는 시작하는 방법에 대한 좋은 예입니다.

다른 언어로 제공되는 다른 SDK가 있다고 생각합니다.

포함 시키면 문서에 설명 된대로 쿼리를 실행할 수 있습니다. 문서에는 모든 내용이 표시되지 않고 특정 사용 사례 만 제공되기 때문에 몇 가지 문제가 있습니다.

예를 들어, API는 페이지 당 ~ 100 개의 결과를 반환하지만 두 번째 페이지가 없다는 표시가 없으므로 결과가 100 인 경우 더 많은 결과가 검색 될 가능성이 있습니다.

나는 모든 기록을 얻을 수 있도록 내 애플 리케이션 내 에서이 PHP 함수를 만들었습니다. 처리 할 것이 없을 때까지 계속해서 다음 페이지를 요청합니다.

$url 매개 변수는 projects 또는 projects/archive과 같습니다.

/** 
* 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; 
} 

희망 하시겠습니까?