Microsoft Graph API访问Excel文档权限

我深入到Microsoft Graph API,并希望使用它的function与Excel工作簿进行交互。 我打算创build一个客户端应用程序,与我的API进行交互,而API又与Microsoft Graph API进行交互。

我遇到了一些与Microsoft Graph权限文档有关的混淆。 在筛选Excel API文档时,我看到为了Update RangeGet Worksheet (或者真正的任何端点),我需要Delegated (work or school account)权限。 然后我看了上面提到的Graph权限文件,它说:

委托权限由具有login用户的应用程序使用。 对于这些应用程序,用户或pipe理员同意应用程序请求的权限,并在调用Microsoft Graph时授予应用程序作为login用户的权限。 一些委托权限可以由非pipe理用户同意,但是一些更高特权的权限需要pipe理员同意。

对我来说,这是“用户必须使用oauthlogin才能通过API与工作簿进行交互”。 我希望事实并非如此,因为我想让工作簿数据公开可用并具有读/写权限。 我知道我将不得不validation我的组织内的一些 (pipe理员)用户,以便检索/更新存储在OneDrive中的工作簿(通过Graph API),但是我只是想看看访问工作簿的要求。

看起来您打算将Excel工作簿用作中央源数据,而不是单个基于用户的商店。 在这种情况下,您可以通过使用应用程序级别的同意访问API,而无需用户login。 看到这里 。 客户端“应用程序”将调用服务器(如nodeJs),然后将调用Microsoft Graph的API调用与Excel工作簿进行交互。 这个服务器到graphics的调用是从客户端应用程序中抽象出来的,因此是安全的。

这种方法的缺点是你需要服务器实现,你不能实现不需要服务器端实现的单页面应用程序。 这不是一个很大的障碍 – 只需要不同的设置。