Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Cloudrail-OneDrive API:高级搜索请求失败_Node.js_Onedrive_Cloudrail - Fatal编程技术网

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

Node.js Cloudrail-OneDrive API:高级搜索请求失败,node.js,onedrive,cloudrail,Node.js,Onedrive,Cloudrail,我正在使用cloudrail Node.jsv2.17.3 我必须对OneDrive API执行高级请求 身份验证部分和获取/存储凭据已成功。 以下是我必须做的请求(根据OneDrive的文档): /驱动器/根目录/搜索(q='IMG_001.jpg') 当然,该文件存在于我的OneDrive帐户中 代码如下: const req = new cloudrail.types.AdvancedRequestSpecification("/drive/root/search(q='IMG_001.j

我正在使用cloudrail Node.jsv2.17.3

我必须对OneDrive API执行高级请求

身份验证部分和获取/存储凭据已成功。 以下是我必须做的请求(根据OneDrive的文档): /驱动器/根目录/搜索(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”时,它可以工作


提前感谢。

据我所知,微软最近推出了其新的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);
});