Tag: onedrive

在`fetch()`上使用stream的优点是什么?

我试图使用OneDrive JS SDK下载文件,所以我使用了微软的代码: // Download a file from OneDrive let fs = require('fs'); // requires filesystem module client .api('/me/drive/root/children/Book.xlsx/content') .getStream((err, downloadStream) => { if (err) { console.log(err); return; } let writeStream = fs.createWriteStream('../Book1.xlsx'); downloadStream.pipe(writeStream).on('error', console.log); }); 因为我想让它在浏览器中工作(不仅仅是在Node中),所以我首先尝试了一些浏览器的stream库,但是没有任何工作。 最终,我只使用REST API和fetch() (SDK是REST API的封装)。 一个简单的fetch(url)做了这个工作。 所以我想知道,为什么MS要经过上面的所有stream代码的麻烦,当一条线可以做这个工作? 尤其是stream的performance好于fetch() 。 例如,当下载大文件的时候会获取冻结的应用程序,而stream不会? 还有其他的区别吗?

Cloudrail – OneDrive API:高级search请求失败

我正在使用cloudrail Node.Js v2.17.3。 我必须在OneDrive API上进行高级请求。 authentication部分和获取/存储凭证已成功。 这是我必须要做的(根据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或资源”。 但是,当我尝试简单的请求“/驱动器/根/儿童”,它的工作原理… 先谢谢你。