我正在深入研究Microsoft Graph API,并希望使用其功能与Excel工作簿进行交互。我打算创建一个客户端应用程序,它与我的API接口,后者又与Microsoft Graph API接口。
我对Microsoft Graph permission文档感到困惑。在筛选Excel API文档时,我看到为了Update Range
或Get Worksheet
(或实际上是任何端点),我需要Delegated (work or school account)
权限。然后,我查看了上面提到的Graph权限文档,它说:
具有已登录用户的应用程序使用委派权限。对于这些应用程序,用户或管理员同意应用程序请求的权限,并授予应用程序在调用Microsoft Graph时作为登录用户的权限。非管理用户可以同意某些委派权限,但某些权限较高的权限需要管理员同意。
对我来说,这读取"用户必须使用oauth登录才能通过API"与工作簿进行交互。我希望情况并非如此,因为我希望公开提供工作簿数据并具有读/写权限。据我所知,我必须在组织内对某些(admin)用户进行身份验证,以便检索/更新存储在OneDrive中的工作簿(通过图谱API),但我只想查看访问工作簿的要求。
答案 0 :(得分:1)
看起来您打算将Excel工作簿用作中央源数据,而不是基于单个用户的存储。在这种情况下,您可以通过使用应用程序级别同意而无需用户登录即可访问API。见here。客户端“app”将调用服务器(例如nodeJs),然后对Microsoft Graph进行API调用以与Excel工作簿进行交互。此服务器到图形调用是从客户端应用程序中抽象出来的,因此是安全的。
这种方法的缺点是您需要服务器实现,并且无法实现不需要服务器端实现的单页面应用程序。这不是一个很大的障碍 - 只需要采取不同的设置。