2017-05-03 64 views
2

我正在使用cloudrail Node.Js v2.17.3。Cloudrail - OneDrive API:高級搜索請求失敗

我必須對OneDrive API進行高級請求。

認證部分和獲取/存儲憑證已成功。 這裏是我有(按OneDrive的doc)的要求去做: /drive/root/search(q='IMG_001.jpg')

當然,文件存在於我的OneDrive賬戶。

下面是代碼:

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

微軟最近推出了他們的新Graph API,據我所知所有的服務都使用它。所以你所指的文檔就是用於新的API。 請嘗試使用'/ drive/items/{the_folder_id或root} /view.search?q=txt'。您也可能需要對參數進行網址編碼。所以最安全的解決方案可能是這樣的:

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