2017-05-03 1 views
2

Cloudril Node.Js v2.17.3을 사용하고 있습니다.Cloudrail - OneDrive API : 고급 검색 요청이 실패합니다.

OneDrive API에 대한 고급 요청을 수행해야합니다.

인증 부분과 자격 증명 가져 오기/저장이 성공했습니다. 여기에 내가 (원 드라이브의 문서에 따라)해야 할 요청입니다 : /drive/root/search(q='IMG_001.jpg ')가 물론

, 파일 내 원 드라이브 계정에 존재한다.

const req = new cloudrail.types.AdvancedRequestSpecification("/drive/root/search(q='IMG_001.jpg')"); 
req.setMethod("GET"); 
req.setHeaders({"Content-Type": "application/json"}); 
service.advancedRequest(req, (err, res) => { 
    console.log(err, res); 
}); 

Err.message는 말한다 : "잘못된 API 또는 자원"여기

는 코드입니다. 나는 간단한 요청 "/ 드라이브/루트/어린이"를하려고 할 때, 작동하지만

, ...

은 사전에 감사합니다.

답변

2

Microsoft는 최근에 내가 아는 한 모든 서비스에서 사용되는 새로운 Graph API를 소개했습니다. 그래서 당신이 말하는 문서는 새로운 API를위한 것입니다. 대신 '/ drive/items/{the_folder_id or root} /view.search?q=txt'를 사용해보세요. 매개 변수를 URL로 인코딩해야 할 수도 있습니다. 그래서 가장 안전한 해결책은 아마 다음과 같습니다.

const url = "/drive/items/root/view.search?q=" + encodeURIComponent("[search query]"); 
const req = new cloudrail.types.AdvancedRequestSpecification(url); 
req.setMethod("GET"); 
service.advancedRequest(req, (err, res) => { 
    console.log(err, res); 
}); 
+0

고맙습니다. 완벽하게 작동합니다. – zerek

관련 문제