2017-05-03 15 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

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

関連する問題