如何使用 Vanilla JavaScript 和 MS Graph API 从 OneDrive 下载文件

问题描述

我正在尝试使用纯 HTML CSS 和 JavaScript 构建静态网页,并能够从 OneDrive 下载文件

在按钮单击事件中,JavaScript 函数应访问 OneDrive 并下载 Excel 文件以在浏览器上显示,无需任何用户交互或身份验证。

如您所知,对 OneDrive 文件的直接下载链接进行 AJAX 调用,如下所示:"https://onedrive.live.com/download?cid=32...&resid= 32...&authkey=AD..." 抛出对下载链接的访问已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。我尝试了 Using the OneDrive API in JavaScript apps (CORS support) 示例,但没有奏效。

我遇到了HOW TO — Get an Access Token for Microsoft Graph API using Node.JS。我遵循了这个例子,我能够获得用于身份验证的访问令牌,但这只能使用 Node.JS。上网查了一下,网上几乎所有的示例代码都使用Node.JS来验证Microsoft Graph API。

而其他人需要用户交互进行身份验证,这不是我想要的。

见:https://gist.github.com/psignoret/50e88652ae5cb6cc157c09857e3ba87f

我的问题是,使用 vanilla JavaScript(不是 Node.JS),我该如何

  1. 登录 Microsoft Work、Office 或个人帐户。
  2. 获取访问令牌
  3. 使用令牌并调用 Microsoft Graph 从 OneDrive 下载文件

没有任何用户交互/身份验证?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)