node.js - Cloudrail-OneDrive API : Advanced search request fails

标签 node.js onedrive cloudrail

我正在使用 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”时,它有效...

提前谢谢你。

最佳答案

Microsoft 最近推出了他们新的 Graph API,据我所知,所有服务都使用该 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);
});

关于node.js - Cloudrail-OneDrive API : Advanced search request fails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43763317/

相关文章:

node.js - 如何在 Bluemix 上使用单点登录与 node.js 应用程序

javascript - 从路由发出 websocket 消息

c# - 微软onedrive : Create folder using API key without login

java - cloudrail java桌面应用程序

cloudrail - cloudrail可以无服务器使用吗?

node.js - 如何配置 koa-router 在任何一组路由之前运行通用代码?

ruby - 结合使用 Ruby 和 Node 加密库

azure-active-directory - MSGraph token 错误: "Application (...) was not found in the directory"

c# - H结果 : 0xC00CE556 - Loading string to XML