首页 文章

Cloudrail - OneDrive API:高级搜索请求失败

提问于
浏览
3

我正在使用cloudrail Node.Js v2.17.3 .

我必须在OneDrive API上做一个高级请求 .

身份验证部分和获取/存储凭据已成功完成 . 这是我必须做的请求(根据OneDrive的文档):/ 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或资源” .

但是,当我尝试简单的请求“/ drive / root / children”时,它的工作原理......

先感谢您 .

1 回答

  • 2

    微软最近推出了他们新的Graph API,据我所知,所有服务都使用它 . 因此,您所指的文档适用于新API . 请尝试使用'/ drive / items / {the_folder_id或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);
    });
    

相关问题