2014-06-09 3 views
4

특정 폴더의 모든 파일을 가져 오는 방법을 찾고 있습니다. official documentationBox.com 검색된 폴더의 모든 파일을 검색하는 API

에서

하지만 찾을 수있는 충분한 정보가 나는 이런 식으로 뭔가에 대해 생각 : (나는 access_token이있는 사용자 정의 헤더를 설정하는 것이 가정)

https://api.box.com/2.0/search?query=* 

이 방법은 '아무튼 T는 작품, 그리고 그 쿼리는 정규식을 받아들이지 doen't 생각 ...

어떤 생각?


PS : 실제 유스 케이스는이 질문을 이해하는 데 도움이 될 것입니다 :

내 폴더 : 만 file1.jpg, file2.docfile4.pdf을받을 것으로 예상 검색 요청

folderOne: 
| 
|_file1.jpg 
| 
|_file2.doc 
| 
|_folder1 
| |_file3.jpg 
| |_folder2 
| 
|_file4.pdf 

.

답변

5

폴더 내용을 쿼리 한 다음 file 항목의 클라이언트 쪽을 필터링하면 가장 쉽게 수행 할 수 있습니다.

curl https://api.box.com/2.0/folders/FOLDER_ID/items \ 
-H "Authorization: Bearer ACCESS_TOKEN" 

이것은 당신이 누구의 typefile 인 사람을 선택할 수있는 항목의 컬렉션을 반환합니다.

{ 
    "total_count": 4, 
    "entries": [ 
    { 
     "type": "folder", 
     "id": "192429928", 
     "name": "folder1" 
    }, 
    { 
     "type": "file", 
     "id": "818853862", 
     "name": "file1.jpg" 
    }, 
    { 
     "type": "file", 
     "id": "818853843", 
     "name": "file2.doc" 
    }, 
    { 
     "type": "file", 
     "id": "818853832", 
     "name": "file4.pdf" 
    } 
    ] 
} 

매김

상자가 모든 파일의 메타 데이터 전에 모든 폴더 메타 데이터를 반환합니다. 이러한 폴더를 계산하여 파일 전용 페이징에 대한 적절한 오프셋을 결정할 수 있습니다. 예를 들어, Box 폴더에 13 개의 하위 폴더가 있고 한 번에 25 개의 파일을 페이지하려는 경우 :

/folders/FOLDER_ID/items?limit=25&offset=13 
/folders/FOLDER_ID/items?limit=25&offset=38 
/folders/FOLDER_ID/items?limit=25&offset=63 
/folders/FOLDER_ID/items?limit=25&offset=... 
+0

내 목표는 페이지 매김입니다. 그런 다음 요청 제한 및 오프셋을 추가하면 페이지 매김이 실패합니다 오프셋이 폴더 만있을 때 "비어있는"페이지를 가질 수 있습니다 ... – RikyTres

+0

이 해결 방법은 이론 상으로는 좋지만이 질문에 대한 대답은 아닙니다 ...;) – RikyTres

+1

두 가지 사항 : 첫째, 검색 API에는 ' 적어도 그 순간에는 당신이 원하는 것을하지 마십시오. 둘째, 내가 설명한 방법을 사용하여 Box는 모든 하위 폴더에 대한 메타 데이터를 반환 한 다음 모든 파일을 반환합니다. 반환 된 폴더의 수를 기준으로 오프셋을 수정하고 페이지 매김 문제를 피할 수 있습니다. –

관련 문제